OAuth2를 사용하여 Identity Server에서 JWT 토큰을 다시 가져올 수 있으며 토큰에서 클레임을 추출하려고합니다.ThinkTecture Identity Server JWT 토큰 디코드
https://developers.google.com/wallet/digital/docs/jwtdecoder과 같은 토큰 디코더를 사용하면 토큰 내부를 들여다 보면 잘 보입니다.
그러나 Microsoft JwtSecurityTokenHandler.ValidateToken을 사용하여 클레임 ID를 다시 얻으려면 C#에서 암호를 해독하는 것이 확실하지 않습니다.
신원 확인 서버에서 코드에 참조로 붙여 넣은 대칭 키를 사용하고 있습니다. JWT 토큰도 유효합니다.
정말 어떤 도움을 주셔서 감사합니다 :
string token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vaWRlbnRpdHlzZXJ2ZXIudjIudGhpbmt0ZWN0dXJlLmNvbS90cnVzdC9jaGFuZ2V0aGlzIiwiYXVkIjoidXJuOndlYmFwaXNlY3VyaXR5IiwibmJmIjoxMzk3MTEzMDY5LCJleHAiOjEzOTcxNDkwNjksIm5hbWVpZCI6InN0ZWZhbiIsInVuaXF1ZV9uYW1lIjoic3RlZmFuIiwiYXV0aG1ldGhvZCI6Ik9BdXRoMiIsImF1dGhfdGltZSI6IjIwMTQtMDQtMTBUMDY6NTc6NDguODEyWiIsImh0dHA6Ly9pZGVudGl0eXNlcnZlci50aGlua3RlY3R1cmUuY29tL2NsYWltcy9jbGllbnQiOiJyZWx5aW5nIHBhcnR5IDMgdGVzdCBjbGllbnQgbmFtZSIsImh0dHA6Ly9pZGVudGl0eXNlcnZlci50aGlua3RlY3R1cmUuY29tL2NsYWltcy9zY29wZSI6InVybjp3ZWJhcGlzZWN1cml0eSJ9.cFnmgHxrpy2rMg8B6AupVrJwltu7RhBAeIx_D3pxJeI";
string key = "ZHfUES/6wG28LY+SaMtvaeek34t2PBrAiBxur6MAI/w=";
var validationParameters = new TokenValidationParameters()
{
AllowedAudience = "urn:webapisecurity",
SigningToken = new ????
ValidIssuer = @"http://identityserver.v2.thinktecture.com/trust/changethis"
};
var tokenHandler = new JwtSecurityTokenHandler();
var principal = tokenHandler.ValidateToken(token, validationParameters);
나는 validationParameters.SigningToken 사용해야 SigningToken 어떤 종류의
?
마우스 오른쪽 단추를 사용하여 JWT 토큰을 디코딩하는 코드입니다 수 있습니다 JWT 토큰 문자열을 디코드했지만 여전히 성공하지 못했습니다. 샘플 코드를 제공해 주시겠습니까? – Prateek
JWT 토큰은 base64Url로 인코딩됩니다 (Base64의 URL 안전 버전). – leastprivilege