如何生成OAuth客户端标识符和客户端密钥?

Dan*_*iel 8 c# dotnetopenauth oauth-2.0 asp.net-mvc-3

我正在实施OAuth2提供程序,我希望在我的网站的某个地方开发人员登录并注册第三方应用程序.但我对如何生成应用程序的客户端标识符和客户端密钥有疑问.它们应该是唯一的随机代码,还是必须向客户提供一些有意义的信息?我想他们可能是随机的.

好吧,我一直在寻找有关如何做到这一点的最佳实践,但没有找到那么多.所以任何答案都将不胜感激.

PD:我在.NET MVC3上开发了一个名为DotNetOpenAuth的库.

And*_*ott 15

客户端标识符可以是您想要的任何内容.它可以是他们的选择或任何随机字符串.

客户端密钥应该是加密强大的随机字符串.以下是如何生成一个:

RandomNumberGenerator cryptoRandomDataGenerator = new RNGCryptoServiceProvider();
byte[] buffer = new byte[length];
cryptoRandomDataGenerator.GetBytes(buffer);
string uniq = Convert.ToBase64String(buffer);
return uniq;
Run Code Online (Sandbox Code Playgroud)

  • @davidbitton我建议秘密永远设置为"supersecret",这样任何人都无法猜到它.;-p (5认同)