gpt4 book ai didi

java - 暴露客户端 secret 是否会对 oauth 2 中的隐式授权类型构成威胁?

转载 作者:行者123 更新时间:2023-11-30 05:49:09 25 4
gpt4 key购买 nike

我有一个应用程序需要实现 oauth 2 以保护 REST API 的安全。简单的流程是当用户登录时,他们应该有权访问一些 protected 资源(根据他们的 Angular 色)。

我将使用 Angular 7 作为前端。

根据此图,我需要对单页应用程序使用隐式授予。 enter image description here 现在我继续搜索,发现https://www.devglan.com/spring-security/spring-boot-oauth2-angular

API Name - Login
Method - POST
URL - oauth/login
Header - 'Authorization': 'Basic ' + btoa('devglan-client:devglan-secret')
Body - {'username' :'admin ',
'password' :'admin',
'grant_type': 'password' }
Content-type: application/x-www-form-urlencoded

现在我对这种方法唯一关心的是。

我。为什么这个客户端 ID 和客户端 secret 会在 Angular 代码中泄露?客户 secret 不应该保密吗?

最佳答案

我们不需要任何 key 来在 js 应用程序中实现隐式授权流程。

您可以看到以下 http url 示例,它需要一些信息,例如 client_id、redirect_uri 等。

我们将在redirect_uri的url片段中获取访问 token ,并且该 token 对您进行身份验证以访问 protected 资源。然而,范围参数对于确定资源及其权利也很重要。

Http 请求 URI

https://YOUR_AUTH0_DOMAIN/authorize?
audience=YOUR_API_AUDIENCE&
scope=YOUR_SCOPE&
response_type=YOUR_RESPONSE_TYPE&
client_id=YOUR_CLIENT_ID&
redirect_uri=https://YOUR_APP/callback&
nonce=YOUR_CRYPTOGRAPHIC_NONCE&
state=YOUR_OPAQUE_VALUE

即使对于 js 应用程序,我也强烈建议使用 PKCE 的授权代码授予,因为访问 token 容易受到各种安全风险的影响。使用 PKCE,攻击者需要解决难题(代码挑战)才能获得访问 token 。

关于java - 暴露客户端 secret 是否会对 oauth 2 中的隐式授权类型构成威胁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54273257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com