Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 OAuth 2:授权\代码授予-是否需要客户端\密码参数?_Oauth 2.0 - Fatal编程技术网

Oauth 2.0 OAuth 2:授权\代码授予-是否需要客户端\密码参数?

Oauth 2.0 OAuth 2:授权\代码授予-是否需要客户端\密码参数?,oauth-2.0,Oauth 2.0,关于OAuth 2.0,我之前的理解是,客户机密码应该用于授权码授予,这应该是“更安全的”(这里的一些教程需要客户机密码) 不过我在使用授权码时看到了一个问题,如果没有提供授权码,我兄弟没有检查客户的密码。这让我想知道client_secret的用法,并深入了解OAuth2的规范 然后我查看了OAuth 2()的RFC,发现授权代码授予流根本不需要客户机机密 如果您向下滚动到授权代码流所需的参数,您将看到甚至没有提到客户机密码 所以我的问题是: 授权\代码授予类型是否需要客户\密码 如果建议使

关于OAuth 2.0,我之前的理解是,客户机密码应该用于授权码授予,这应该是“更安全的”(这里的一些教程需要客户机密码)

不过我在使用授权码时看到了一个问题,如果没有提供授权码,我兄弟没有检查客户的密码。这让我想知道client_secret的用法,并深入了解OAuth2的规范

然后我查看了OAuth 2()的RFC,发现授权代码授予流根本不需要客户机机密

如果您向下滚动到授权代码流所需的参数,您将看到甚至没有提到客户机密码

所以我的问题是:

  • 授权\代码授予类型是否需要客户\密码
  • 如果建议使用客户机密而不是必需的,是否有任何官方文件告诉我们建议使用客户机密

谢谢

这是一个好问题,也是我觉得OAuth2.0最烦人的事情之一——了解公共客户端的安全协议

尽我所能回答您的问题:-

授权码授权类型是否需要客户端密码

否。如果客户端是公共客户端,则应允许它使用此授予类型,而无需对自身进行身份验证(前提是它注册了重定向端点)。问题在于,似乎有几种OAuth2.0服务器的实现不允许这种授权类型的公共客户端

如果建议使用客户_机密而不是必需的,将 有任何官方文件告诉我们客户的秘密 建议

您可能需要查看所使用的实际OAuth2.0提供程序的文档,而不是通用IETF规范,因为它们可能会指定RFC之外的公共客户端的规则

6749 RFC几乎只是说身份验证服务器应该处理公共客户机更不安全的事实,而没有给出如何操作的确切细节

e、 g.该节说:


奇怪的是,如此流行的协议如此松散地定义了它们的安全性……感谢您的回答和解释!
 The authorization server must consider the security implications of
   interacting with unauthenticated clients and take measures to limit
   the potential exposure of other credentials (e.g., refresh tokens)
   issued to such clients.