在授权中传递客户端 ID 和客户端密码时,我可以使用 Base64 以外的任何其他编码 header
Can I use any other encoding other than Base64 while passing client Id & client secret in Authorization header
在从 OAuth 提供程序获取令牌时,在授权 header 中传递客户端 ID 和客户端密码时,我可以使用 Base64 以外的任何其他编码吗?
非常感谢任何方向。
您可以使用任何您想要的编码,只要您正确解码即可。但是Base64是标准的。
标准"Authorization"基本header必须使用base 64编码。相比之下,如果您需要使用不同的机制来传递 clientid 和 secret,那么在满足以下条件的情况下确实可以使用。
1) 您不应使用基本授权header 来传递信息。 (如果使用这个,必须使用base 64编码)
2) 服务器应该知道如何解码它。在最新版本的 wso2 产品中,您可以编写自定义 OAuth 客户端身份验证器,它知道如何解码您的自定义信息并派生客户端 ID 和密码。以下是有关如何操作的示例。
https://docs.wso2.com/display/IS550/Writing+A+New+OAuth+Client+Authenticator
否则最简单的选择是,您可以在请求的 body 中传递客户端 ID 和密码(而不是 header)。在这种方法中,您不需要对其进行编码。这只是纯文本
在从 OAuth 提供程序获取令牌时,在授权 header 中传递客户端 ID 和客户端密码时,我可以使用 Base64 以外的任何其他编码吗? 非常感谢任何方向。
您可以使用任何您想要的编码,只要您正确解码即可。但是Base64是标准的。
标准"Authorization"基本header必须使用base 64编码。相比之下,如果您需要使用不同的机制来传递 clientid 和 secret,那么在满足以下条件的情况下确实可以使用。
1) 您不应使用基本授权header 来传递信息。 (如果使用这个,必须使用base 64编码)
2) 服务器应该知道如何解码它。在最新版本的 wso2 产品中,您可以编写自定义 OAuth 客户端身份验证器,它知道如何解码您的自定义信息并派生客户端 ID 和密码。以下是有关如何操作的示例。
https://docs.wso2.com/display/IS550/Writing+A+New+OAuth+Client+Authenticator
否则最简单的选择是,您可以在请求的 body 中传递客户端 ID 和密码(而不是 header)。在这种方法中,您不需要对其进行编码。这只是纯文本