我想知道是否有人可以阐明 Identity Server 4 如何处理资源所有者密码凭证 (ROPC) 授予类型。在我的公司,我们有自己的 Identity Server 4 实现,我们用它来授权访问我们的 API 并登录我们的 Web 应用程序。对于我们的移动应用程序,产品要求是我们必须为 Android/iOS 提供原生/应用内登录体验,而无需打开浏览器,因为他们认为每季度打开浏览器登录一次对用户体验影响太大。然而,这确实给我留下了一些疑问。
刷新令牌通常寿命很长。我们要求用户每 90 天重置一次密码。有没有办法让我挂钩刷新令牌的使用情况,以在向用户颁发新的访问令牌之前检查用户的密码是否已过期?我知道配置文件服务在其他流程中调用,例如授权码 + PKCE 流程,但我不知道它是否适用于此。
定义客户端时有一个名为 UpdateAccessTokenClaimsOnRefresh 的标志。这个标志有什么作用?它对我的用例有帮助吗?
是否有更好的方法来实现本机登录体验(无需打开浏览器并停留在应用程序内)来验证和访问我们的 API?
我们最终所做的是设置 UpdateAccessTokenClaimsOnRefresh = true,然后当调用 IProfileService 实现时,如果用户密码已过期,对 IsActive() 的调用将返回 false。