我正在为多个移动应用程序创建一个集中式身份验证系统。它的架构基于OpenID Connect流程,通过在核心身份上使用OAuth2.0和IdentityServer4 ASP.NET。
我研究了很多,在观察到的授权代码流的主要实现中,总是将用户从移动应用程序 UI 重定向到服务器 Web 视图,以允许管理其配置文件。
这是非常不舒服的,因为它会显着损害用户体验。我希望用户能够直接从应用程序界面注册和验证自己,而无需任何涉及打开浏览器的重定向。有没有办法只用从客户端后端到集中式授权服务器的 API 调用来做到这一点?
您可以使用Resource Owner Password Credentials
授权类型,您可以在其中将用户凭据传递到令牌终端节点并接收访问令牌。但是,强烈建议不要使用 ROPC 授权类型,因为您可以在这篇博客文章中阅读身份服务器的创建者之一 Scott Brady。
我可以向您建议的是使用Authorization Code
流登录用户并获取他们的访问令牌,然后在身份服务器上创建自定义 API 端点以进行用户管理。在此处详细了解自定义 API 端点