Authentication 如何使用PKCE授权流注销?
如果我有一个Authentication 如何使用PKCE授权流注销?,authentication,oauth,oauth-2.0,okta,Authentication,Oauth,Oauth 2.0,Okta,如果我有一个app和一个api。如果app通过授权服务器登录,并随每个请求发送authorization:Bearer xxx头,则api可以在本地验证令牌。 当用户注销(通过身份验证服务器),但令牌尚未过期时,如果有人检索此令牌,他们将能够发出请求(如果令牌的身份验证在服务器上本地完成),是否正确?如果是这样,为什么这样的注销流被认为是安全的 编辑:澄清主要问题:为什么PKCE流被认为是安全的,如果用户注销时其访问令牌仍然有效(假设我们进行本地令牌验证)Okta/introspect可以告诉您
app
和一个api
。如果app
通过授权服务器登录,并随每个请求发送authorization:Bearer xxx
头,则api
可以在本地验证令牌。
当用户注销(通过身份验证服务器),但令牌
尚未过期时,如果有人检索此令牌
,他们将能够发出请求(如果令牌的身份验证在服务器上本地完成),是否正确?如果是这样,为什么这样的注销流被认为是安全的
编辑:澄清主要问题:为什么PKCE流被认为是安全的,如果用户注销时其访问令牌仍然有效(假设我们进行本地令牌验证)Okta/introspect可以告诉您active是真是假,如果您没有关闭API,您可以在每个请求上检查是否很难访问令牌,这可能是一个很好的理由,为什么它不是按定义不安全 但是,提供注销选项是一个好主意。OAuth2具有“撤销”功能,以确保令牌被撤销:
并非每台服务器都支持此功能。行为概述 与旧的独立web应用相比,OAuth具有更大的关注点分离:
- 您可以登录UIs
- 这被外部化到授权服务器
- 以固定/短的生存期颁发访问令牌
- 访问令牌用作API消息凭据
- 访问令牌可能被发送到其他组件并从那里使用
- 您从应用程序中删除令牌
- 您重定向以告知授权服务器用户不再登录到任何UI
- 这不会使访问令牌无效
- 在授权服务器上撤消访问令牌(如果支持)
- 调用API,要求它们删除访问令牌的缓存声明
access\u令牌,但该令牌尚未过期。如果API服务器正在进行本地令牌验证,他们将能够免费使用它,直到到期。请查看关于处理被盗令牌威胁的部分。简言之,他们建议将代币存储在私有内存/受保护的存储中,并保持它们的短寿命。好的-完成了-感谢有趣的讨论。