Rya*_*Mes 6 javascript oauth-2.0 single-page-application
我试图了解oauth和openid connect中的一些概念.为了提供一些上下文,假设我正在构建一个与一堆微服务对话的SPA(单页面应用程序).用户需要在访问任何数据之前(通过应用程序)对自身进行身份验证,并且用户将在受信任的站点上对自己进行身份验证.
查看oauth 2和一些建议的流程,资源所有者密码凭证授权似乎是合适的候选者.
+----------+
| Resource |
| Owner |
| |
+----------+
v
| Resource Owner
(A) Password Credentials
|
v
+---------+ +---------------+
| |>--(B)---- Resource Owner ------->| |
| | Password Credentials | Authorization |
| Client | | Server |
| |<--(C)---- Access Token ---------<| |
| | (w/ Optional Refresh Token) | |
+---------+ +---------------+
Run Code Online (Sandbox Code Playgroud)
我读过的一些文章说,在请求授权时,您应该使用您的有效负载(用户名,密码等)将您的client_id和client_secret发送到授权服务器.我的问题是,这适用于SPA吗?不能有人只是检查你的JavaScript,看看你的client_id和client_secret是什么?发送此信息有什么意义吗?
您是对的,SPA 本身无法保密或执行客户端身份验证,因此发送client_secret.
在 OAuth2 世界中,这些客户端被称为公共客户端或非机密客户端,与能够执行客户端身份验证的机密客户端相对,例如,传统的服务器端应用程序可以在服务器端。
执行客户端身份验证不是强制性的,但是,您将无法根据确定的客户端身份来执行决策。
| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |