使用oauth2客户端凭据防止中间人攻击

问题描述 投票:0回答:1

现在,我正在开发一个微服务系统,使用Nginx作为网关,并使用Keycloak作为授权/身份验证。移动应用程序将openidconnect与grant_type = client_credentials一起使用以获取令牌。授予类型“ client_credentials”在请求正文中需要client_id,client_secret。如果有人使用Fiddler以中间人的身份进行攻击,则他可以知道客户端ID /秘密,而不是通过使用他们获取访问令牌来成为中间人。那么如何预防这种情况呢?我正在使用https,但是我知道Fiddler可以解密https。请帮我。非常感谢。

security oauth-2.0 microservices keycloak man-in-the-middle
1个回答
0
投票
对于本地或客户端应用程序(包括单页Web应用程序,移动应用程序等),

A client_credentials授予不是正确的oauth流。您要实现的是用于代码交换(PKCE)流程的证明密钥。此流程不需要客户端密钥,只需要客户端ID。可以在Auth0的网站上找到有关流程的出色文章:

https://auth0.com/docs/flows/concepts/auth-code-pkce

© www.soinside.com 2019 - 2024. All rights reserved.