auth dialog as component