2016-12-06 2 views

ответ

1

Сначала вам необходимо настроить ADFS с идентификатором клиента и URL-адресом перенаправления, а затем получить токен JWT с сервера ADFS. Увидеть этот пост http://blog.scottlogic.com/2015/03/09/OAUTH2-Authentication-with-ADFS-3.0.html

После этого, если вы используете .Net Сердечник с JWT Носителем Знака вам необходимо сертификата подписи экспорта ADFS с помощью следующих команд Powershell:

$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 
     }); 

0

Пожалуйста, проверьте это ниже, ссылка поможет вам, но процедура такая же.

https://www.codeproject.com/Articles/1080899/How-to-get-Jwt-token-for-Logged-On-User-or-Applica

OAuth2 Авторизация Provider 1.0.0 NuGet пакет имеет метод (ValidateToken) для подтверждения заданного JWT маркеров, но он имеет зависимость сертификата (провайдер).

Установить сертификат в соответствии с доверенным корнем локального компьютера, который является вашим сертификатом adfs.

Пакет Nuget будет удостоверяющим личность установленным сертификатом на основе SubjectKeyIdentifier.