有人可以解释.Net Core中的OAuth2 JWT令牌生成和验证吗?为ADFS和.Net Core设置OAuth2 JWT令牌
回答
首先您需要使用客户端ID和重定向URL来设置ADFS,然后从ADFS服务器获取JWT令牌。看到这个帖子http://blog.scottlogic.com/2015/03/09/OAUTH2-Authentication-with-ADFS-3.0.html
在此之后,如果你使用的是.NET的核心与JWT承载令牌您使用以下PowerShell命令需要 出口ADFS签名证书:
$certRefs=Get-AdfsCertificate -CertificateType Token-Signing $certBytes=$certRefs[0].Certificate.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert) [System.IO.File]::WriteAllBytes("c:\foo.cer", $certBytes)
然后在你的.Net核心应用程序启动时,您需要使用包装Microsoft.AspNetCore.Authentication.JwtBearer看看这个帖子http://andrewlock.net/a-look-behind-the-jwt-bearer-authentication-middleware-in-asp-net-core/
代码在启动时类: var signingKey = new X509SecurityKey(new System.Security.Cryptography.X509Certificates.X509Certificate2("YOUR-PATH/foo.cer"));
var tokenValidationParameters = new TokenValidationParameters
{
// The signing key must match!
ValidateIssuerSigningKey = true,
IssuerSigningKey = signingKey,
// Validate the JWT Issuer (iss) claim
ValidateIssuer = true,
ValidIssuer = "http://YOUR-ADFS/adfs/services/trust",
// Validate the JWT Audience (aud) claim
ValidateAudience = true,
ValidAudience = "https://YOUR-AUDIENCE/",
// Validate the token expiry
ValidateLifetime = true,
// If you want to allow a certain amount of clock drift, set that here:
ClockSkew = TimeSpan.Zero
};
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
TokenValidationParameters = tokenValidationParameters
});
请检查下面的链接帮助你,但程序是相同的。
https://www.codeproject.com/Articles/1080899/How-to-get-Jwt-token-for-Logged-On-User-or-Applica
的OAuth2授权提供1.0.0 NuGet包具有方法(ValidateToken)来验证给定的令牌JWT但它具有证书的依赖(提供者)。
在本地计算机可信根下安装证书,这是您的adfs证书。
Nuget包将基于SubjectKeyIdentifier标识安装的证书。
- 1. .net core获取Oauth2访问令牌
- 2. 的oauth2 JWT令牌验证过程
- 3. Spring Security OAuth2 JWT令牌中继问题
- 4. 从JWT令牌
- 5. 使用JWT(JSON Web令牌)设置令牌的RESTful API过期
- 6. WSO2IS JWT访问令牌
- 7. OAuth2令牌PHP
- 8. 通过JWT令牌授权
- 9. 如何为ADFS配置spring引导安全OAuth2?
- 10. Owin Middleware是否支持在HttpOnly Cookie中设置JWT令牌?
- 11. JWT令牌SSO流
- 12. Spring Oauth JWT - 刷新令牌
- 13. 使用ADFS 4.0获取组索赔OAuth2令牌
- 14. JWT令牌共享
- 15. 在Java中解析ADFS令牌
- 16. 如何使用OAuth2静默刷新过期的JWT令牌?
- 17. JWT刷新令牌[Laravel 5.2]
- 18. WSO2 JWT使用OAuth2访问令牌进行交换
- 19. 如何建模JWT OAuth2令牌中的资源级权限?
- 20. 添加Azure广告Oauth2 JWT令牌声明
- 21. 获取DRF-jwt令牌
- 22. 护照JWT令牌到期
- 23. 如何生成JWT令牌IdentityModel扩展为.NET 5
- 24. 作为对象的JWT令牌
- 25. 在Asp.Net Core Web Api中验证B2C JWT令牌
- 26. 验证jwt令牌[rsa]
- 27. 处理JWT和刷新令牌流
- 28. 如何在ASP.NET Core的页面导航中包含JWT令牌
- 29. angular2 - 设置间隔来检查jwt令牌的有效性
- 30. JWT令牌未在$资源中的标题上设置