Security OAuth过程:向服务器请求两次

Security OAuth过程:向服务器请求两次,security,oauth,server,oauth-2.0,client-server,Security,Oauth,Server,Oauth 2.0,Client Server,我是OAuth的初学者,所以我的问题可能听起来很幼稚。我发现这张图片描述了OAuth是如何工作的 假设客户机之前已经进行了授权,这意味着我们已经知道客户机获得了哪些授权 因此,当客户端第二次请求授权时,我不确定为什么我们不能从客户端请求授权,并将受保护的资源从服务器返回到客户端?因此,基本上我们跳过了步骤2、3、4和5,只保留了步骤1和6。您看到的是“授权码授予”。这意味着您拥有一个身份验证服务,该服务能够向用户返回登录表单,对其进行身份验证,然后颁发授权。然后通过另一个调用将该授权转换为访问令

我是OAuth的初学者,所以我的问题可能听起来很幼稚。我发现这张图片描述了OAuth是如何工作的

假设客户机之前已经进行了授权,这意味着我们已经知道客户机获得了哪些授权


因此,当客户端第二次请求授权时,我不确定为什么我们不能从客户端请求授权,并将受保护的资源从服务器返回到客户端?因此,基本上我们跳过了步骤2、3、4和5,只保留了步骤1和6。

您看到的是“授权码授予”。这意味着您拥有一个身份验证服务,该服务能够向用户返回登录表单,对其进行身份验证,然后颁发授权。然后通过另一个调用将该授权转换为访问令牌

如果要执行应用程序级身份验证,请使用客户端凭据授权

这意味着您有一个ClientID和ClientSecret,用于标识应用程序,而不是用户。您使用这些资源发出请求,并获得可用于访问受保护资源的令牌

例如:

如果要使用用户凭据进行身份验证,则可以使用资源所有者密码凭据授予


所以,这一切都取决于你在寻找什么。

你在寻找什么,这就是“授权码授权”。这意味着您拥有一个身份验证服务,该服务能够向用户返回登录表单,对其进行身份验证,然后颁发授权。然后通过另一个调用将该授权转换为访问令牌

如果要执行应用程序级身份验证,请使用客户端凭据授权

这意味着您有一个ClientID和ClientSecret,用于标识应用程序,而不是用户。您使用这些资源发出请求,并获得可用于访问受保护资源的令牌

例如:

如果要使用用户凭据进行身份验证,则可以使用资源所有者密码凭据授予


所以,这完全取决于你在寻找什么。

谢谢,我不知道有这么多补助金类型!那么,这是否意味着OAuth是一个大主题,它包括授权代码授权、客户端凭据授权等?谢谢,我不知道有这么多授权类型!那么,这是否意味着OAuth是一个大主题,它包括授权代码授予、客户机凭据授予等?