如何解决如何关联不同的 Oauth2 登录?
我有一个带有 2 个登录选项的 web 应用程序:使用您的 Github 帐户或您的 GitLab 帐户。
目前,这两个登录被视为不同的帐户:使用 Github 登录,仅查看您的 Github 存储库;使用 GitLab 登录,仅查看您的 GitLab 内容。
但是,我注意到 Coveralls.io 等应用程序设法链接了登录信息:如果您使用 Github 和 GitLab 登录,那么您将看到所有存储库(Github 和 GitLab 存储库,无论如何您选择的未来登录选项)。
在 StackOverflow 中也一样:如果我最初使用 Github 进行身份验证,则会获得一个帐户,如果稍后我使用 GMail 进行身份验证,则它是同一个帐户。这是如何实现的?
我能想到的唯一选择是在不同的 Oauth 提供商处注册的电子邮件地址:如果相同,则将不同的登录名连接到同一帐户。
解决方法
这是可行的,因为相关应用将通用用户帐户与与每个 OAuth 提供者相关的身份相关联。
您可以在 https://jumpstartrails.com/(由 https://gorails.com/ 的创建者 Chris Oliver 创建的 SaaS 应用程序)中看到一个示例。该应用程序实现了这种模式。
此外,Chris 的 GoRails 视频可以解释该方法:
使用 Omniauth 登录多个 OAuth 提供商: https://gorails.com/episodes/login-with-multiple-oauth-providers?autoplay=1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。