Oauth 2.0 oauth2不安全吗?

Oauth 2.0 oauth2不安全吗?,oauth-2.0,oauth-provider,Oauth 2.0,Oauth Provider,我正在为我创建的API实现一个oauth2解决方案,我正在和潜在的不安全因素或至少我的理解作斗争 仅生成一个令牌并将其用作端点请求的身份验证凭据是否正确。如果攻击者只是向API提交令牌,希望其中一个令牌有效且正在使用,那么如何阻止潜在的暴力攻击呢 我可能误解了一些东西,但我无法从我的内心得到它是什么 当然,代币应该很难想象。例如,它们不应该是简单的顺序整数。令牌长度也没有限制。基本上有两种选择: 1构建一个使用您自己的密钥加密的长令牌注意:它不必很长,但它会很长,因为加密会隐式地使它变长。您可以

我正在为我创建的API实现一个oauth2解决方案,我正在和潜在的不安全因素或至少我的理解作斗争

仅生成一个令牌并将其用作端点请求的身份验证凭据是否正确。如果攻击者只是向API提交令牌,希望其中一个令牌有效且正在使用,那么如何阻止潜在的暴力攻击呢


我可能误解了一些东西,但我无法从我的内心得到它是什么

当然,代币应该很难想象。例如,它们不应该是简单的顺序整数。令牌长度也没有限制。基本上有两种选择:

1构建一个使用您自己的密钥加密的长令牌注意:它不必很长,但它会很长,因为加密会隐式地使它变长。您可以在返回时检查令牌是否真正属于您,因为您是唯一可以加密和解密这些令牌的人

2构建也存储在数据库中的令牌,并且很难创建,因此您将检查数据库中是否存在令牌


您还可以混合使用这两种方法。您还应该为令牌添加一些过期时间,在第一种情况下嵌入到令牌中,或者在第二种情况下将令牌放在数据库中。

令牌当然很难想象。例如,它们不应该是简单的顺序整数。令牌长度也没有限制。基本上有两种选择:

1构建一个使用您自己的密钥加密的长令牌注意:它不必很长,但它会很长,因为加密会隐式地使它变长。您可以在返回时检查令牌是否真正属于您,因为您是唯一可以加密和解密这些令牌的人

2构建也存储在数据库中的令牌,并且很难创建,因此您将检查数据库中是否存在令牌


您还可以混合使用这两种方法。您还应该在第一种情况下为嵌入其中的令牌添加一些过期时间,或者在第二种情况下将令牌放在数据库中的一边。

OAuth 2.0中最容易遭受暴力攻击的授权类型之一是资源所有者密码凭据类型。在这种情况下,黑客可以访问客户端凭据clientId和密码,他/她只需要资源所有者用户凭据用户名和密码。
Java-Spring安全性中描述了一个身份验证实现模型,它可以帮助我们避免这个问题。

OAuth 2.0中最容易受到暴力攻击的授权类型之一是资源所有者密码凭据类型。在这种情况下,黑客可以访问客户端凭据clientId和密码,他/她只需要资源所有者用户凭据用户名和密码。
Java-Spring安全性中描述了一个身份验证实现模型,可以帮助我们避免这个问题。

每个系统在某种程度上都是不安全的。但也就是说,你不应该担心过早的安全化。所以,只有在你实现了一个解决方案并被黑客攻击之后,你才应该担心它?每个系统在某种程度上都是不安全的。但也就是说,你不应该担心过早的安全化。所以,只有在你实现了一个解决方案并被黑客攻击之后,你才应该担心它?你所建议的并不能阻止暴力攻击。无论是否加密,令牌只是一系列字符和数字。您所建议的并不能阻止暴力攻击。无论是否加密,令牌只是一系列字符和数字。