oauth-2.0 替换OAuth下的“请提供密码以执行操作”模式

nxagd54h  于 2022-10-31  发布在  其他
关注(0)|答案(1)|浏览(127)

在我的应用程序中,我要求用户为某些操作提供密码,这样做是为了确保执行操作的人被再次确认为当前用户。
但是,对于OAuth,我不确定如何或是否可能让身份验证提供程序重新确认用户,似乎没有一种一致的方法让提供程序要求用户重新进行身份验证。
除了修改每个提供商的OAuth身份验证流之外,是否有方法要求用户重新进行身份验证?
或者,在OAuth的上下文中,是否有更好的方法来替换此模式?

jqjz2hbq

jqjz2hbq1#

您可以根据作用域执行此操作,应用最初重定向的位置如下所示:

https://login.example.com?client_id=xxx&scope=openid ...

要执行高权限操作,应用将获取具有高权限范围的访问令牌。您可以使用OpenID Connect prompt=login参数强制重新输入密码。根据所涉及的数据类型,您还可以在同意屏幕中通知用户:

https://login.example.com?client_id=xxx&scope=openid payment&prompt=login

受权服务器还可以配置为要求对高权限作用域进行多因素身份验证.这样,您就可以避免通过prompt=none重新输入密码,而只提示输入第二个因素.
重新验证后,高权限访问令牌将返回到应用程序并发送到API。API仅在存在高权限范围时才允许这些操作。

相关问题