【发布时间】:2020-05-19 03:04:18
【问题描述】:
我有一个 API 项目和一个运行 IdentityServer4 的单独项目。第 3 方应用程序登录到 IdentityServer4 并接收访问令牌。使用令牌 3rd 方应用程序调用 API 项目。现在第 3 方应用程序希望 API 资源 (api/users/change_password) 能够通过提供用户名、当前密码和新密码来更改用户的密码。如何从 API 项目更新/更改用户密码?
【问题讨论】:
-
用户是否登录您的 IdentityServer4 应用程序 (IDP) 以获取访问令牌?用户在哪里输入用户名/密码?
-
是的。用户将用户/密码输入到第三方应用程序,该应用程序重定向到身份服务器并接收令牌。
-
你使用什么 oauth2 流?
-
我认为用户不应该在 3rd 方应用程序中输入密码。用户应在 IDP 本身中执行此操作。如果用户想要更改密码,他应该为此访问 IDP。
-
你是对的,用户实际上是在 IDP UI 中输入用户名/密码,第 3 方应用程序只是将用户重定向到 IDP 登录屏幕。
标签: c# api oauth-2.0 identityserver4 openid-connect