在我的应用程序中,我请求用户为某些操作提供密码。这将尝试确保执行操作的人被重新确认为当前用户。
但是,对于OAuth,我不确定如何或者是否有可能让身份验证提供者重新确认用户。似乎没有一致的方法让提供者要求用户重新身份验证。
除了为每个提供程序修改我的OAuth身份验证流之外,是否有一种方法可以要求用户重新进行身份验证?
或者,在OAuth的上下文中,是否有更好的方法来替代这种模式?
发布于 2022-08-05 13:23:36
您可以根据作用域来完成此操作,其中应用程序最初重定向如下:
https://login.example.com?client_id=xxx&scope=openid ...要执行高权限操作,应用程序将获得一个具有高权限范围的访问令牌。您可以使用OpenID连接prompt=login参数强制重新输入密码。根据所涉及的数据类型,您还可以在同意书屏幕上通知用户:
https://login.example.com?client_id=xxx&scope=openid payment&prompt=login还可以将授权服务器配置为需要高权限范围的多因素身份验证。然后,您可以避免通过prompt=none重新输入密码,并且只提示第二个因素。
在重新认证之后,一个高权限访问令牌将返回到应用程序并发送到一个API。只有在存在高权限范围时,API才允许这些操作。
https://stackoverflow.com/questions/73224709
复制相似问题