使用abp的microservice示例时,想修改默认的commonSecret,即ClientSecret(client_secret)。
其实commonSecret就是ClientSecret通过IdentityServer4.Models.HashExtensions类的Sha256方法加密的。
using System.Security.Cryptography;
static class Extentions
{
public static string Sha256(this string input)
{
using (SHA256 shA256 = SHA256.Create())
{
byte[] bytes = Encoding.UTF8.GetBytes(input);
return Convert.ToBase64String(((HashAlgorithm)shA256).ComputeHash(bytes));
}
}
}
void Main()
{
Console.WriteLine( "secret-as-guid".Sha256());
}
我们可以通过封装好的方法直接调用生成secret:
using IdentityServer4.Models;
void Main()
{
var secret = new Secret("1q2w3e*".Sha256());
Console.WriteLine(secret.Value); //E5Xd4yMqjP5kjWFKrYgySBju6JVfCzMyFp7n2QmMrME=
}