首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌身份验证是否适用于未注册的用户?

谷歌身份验证是否适用于未注册的用户?
EN

Stack Overflow用户
提问于 2019-08-06 21:32:36
回答 1查看 50关注 0票数 0

我有一个Django网站,我希望我的用户可以登录后,他们在我的应用程序与谷歌帐户。我使用了social-auth-app-Django包。但是现在我看到没有在我的网站上注册的人可以登录到网站。有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-08-07 00:46:37

当我在Django中实现oAuth时,文档让我摸不着头脑。我发现PHP/Laravel实现要容易得多……

默认情况下,行为是创建用户帐户。Social Auth的用例是,它是一种允许用户自动注册您的应用程序的方法,因此您不需要担心管理用户列表。许多使用反社交媒体登录的网站都是这样工作的,包括Stack Exchange。您需要覆盖管道

docs

如果我们尚未找到用户帐户,请创建一个。' social _core.pipeline.user.create_user',创建将社交帐户与用户关联的记录。'social_core.pipeline.social_auth.associate_user',

然后,您需要自己设置您的用户acl。您必须自己填充用户表(或1:1表,如果有),或者如果您正在为GSuite域执行此操作,则可以将电子邮件域列入白名单。

'social_core.pipeline.social_auth.social_details','social_core.pipeline.social_auth.social_uid','social_core.pipeline.social_auth.auth_allowed','social_core.pipeline.social_auth.social_user','social_core.pipeline.social_auth.associate_user','social_core.pipeline.social_auth.load_extra_data',(‘social_core.pipeline.social_auth.social_details’,‘social_core.pipeline.social_auth.social_uid’,‘social_core.pipeline.social_auth.auth_allowed’,‘social_core.pipeline.social_auth.social_user’,‘social_core.pipeline.social_auth.associate_user’,‘social_core.pipeline.social_auth.load_extra_data’,)

SOCIAL_AUTH_PIPELINE =‘'social_core.pipeline.user.user_details',)

您可以将验证代码放在oAuthCallback函数中,因为在使用oAuth进行身份验证后,用户会立即在该函数中被重定向。如果你不喜欢这个用户,你可以在那个时候重定向。或者,您可以中断管道see

或者,您也可以使用社交认证see的白名单功能

注册可以限制为一组由用户的电子邮件地址或域名标识的用户。要将其列入白名单,只需设置以下任何设置:

SOCIAL_AUTH__WHITELISTED_DOMAINS = 'foo.com','bar.com‘提供要列入白名单的域名列表。在任何允许的域上具有电子邮件地址的任何用户都将成功登录,否则将引发AuthForbidden。

SOCIAL_AUTH__WHITELISTED_EMAILS = 'me@foo.com','you@bar.com‘提供要列入白名单的电子邮件地址列表。电子邮件地址在此列表中的任何用户都将成功登录,否则将引发AuthForbidden。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57377289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档