gpt4 book ai didi

python - GAE/P : Does federated login always include user's email address?

转载 作者:太空宇宙 更新时间:2023-11-03 19:10:18 24 4
gpt4 key购买 nike

我想将我的应用程序从 Google 帐户登录迁移到联合登录。我的应用程序需要用户的电子邮件地址才能正常运行。

如果用户使用主要身份提供商(Google、Facebook、Yahoo 等),用户是否可以登录但不允许我的应用访问他或她的电子邮件地址?

我可以要求用户提供电子邮件地址,但我需要向该地址发送电子邮件进行确认,让用户单击链接等。我宁愿避免该过程。

最佳答案

通常OpenID Attribute Exchange可用于请求特殊的用户属性,例如电子邮件。

Appengine 在内部使用 AE 来请求用户电子邮件,但不请求其他参数(姓名等)。此外,GAE 不提供请求其他参数的选项。

因此,您应该通过联合登录获取用户电子邮件,但这取决于 OpenID 提供商,并且不能保证他们始终提供该电子邮件。

因此有多种解决方案:

  1. 仅允许某些提供用户电子邮件的 OpenID 提供商。

  2. 如果提供商提供电子邮件,请使用它,否则要求用户提供电子邮件。

或者,您可以使用 OAuth 2.0 并请求用户个人资料。这可以为您提供用户详细信息,包括大多数情况下的电子邮件(Google、Facebook),但并非总是如此(Twitter)。因此,除了登录之外,您还需要执行 1. 或 2. 操作。好处是您可以得到相当广泛的 Facebook 支持。

关于python - GAE/P : Does federated login always include user's email address?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13210882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com