微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用OAuth2登录到现有的基于用户名和密码的系统?

如何解决使用OAuth2登录到现有的基于用户名和密码的系统?

我有一个使用传统登录名和用户名和密码的系统。该系统由一个桌面应用程序和多个移动应用程序组成。

现在,我想添加使用OAuth登录功能,但是我不想在“幕后”进行太多更改,因为系统相当复杂并且使用传统用户名的服务种类繁多/ password身份验证。

什么是解决这个问题的好方法

我想一种解决方案是这样的:

  • 用户在客户端上使用OAuth2(即Google,Microsoft,Facebook等)登录
  • 客户端将ID令牌发送到我服务器上的服务
  • 该服务会验证ID令牌签名,并对令牌进行验证(如果已验证)
  • 服务器在旧版数据库中查找用户,为该用户生成一个新的随机密码,然后将其发送回客户端(已加密)
  • 客户端现在可以在任何现有服务中使用密码

发回用户密码的感觉并不好,即使它不是用户选择的密码,而是随机生成的密码。但是,即使如此-如果他们可以提供可以通过OAuth服务器验证的合法ID令牌,我为什么不应该足够信任他们以发送回随机密码?

是否有更好的方法来执行此操作,而无需更改多台服务器上的大量现有代码,存储的sql过程等?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。