Nous avons trouvé cet article de blog sur Cloud Identity pour être vraiment utile pour commencer quelque chose de similaire. Nous utilisons l'API Web, donc ce n'est pas exactement la même chose.
Vous devrez ajouter à votre fichier Startup.Auth.cs:
app.UseActiveDirectoryFederationServicesBearerAuthentication(
new ActiveDirectoryFederationServicesBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["ida:Audience"],
MetadataEndpoint = ConfigurationManager.AppSettings["ida:MetadataEndpoint"]
});
Dans votre web.config, vous aurez besoin des clés pour pointer vers les entrées:
<add key="ida:AdfsMetadataEndpoint" value="https://adfs.yourdomain.com/federationmetadata/2007-06/federationmetadata.xml" />
<add key="ida:Audience" value="https://yourmvc.yourdomain.com" />
Notez que La version d'ADFS que vous utilisez fait une grande différence. Nous avons constaté que tout en essayant d'obtenir des jetons pour travailler avec la version 3.0 d'ADFS, ils sont quelque peu cassés en ce moment. Sur place, ADFS fonctionnera également différemment d'Azure.
Nous avions besoin de personnaliser les revendications pour notre implémentation et this poste aidé énormément. Startup.Auth.cs ressemblera à ceci:
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["ida:Audience"],
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
Provider = new OAuthBearerAuthenticationProvider()
{
OnValidateIdentity = async context =>
{
context.Ticket.Identity.AddClaim(
new Claim(http://mycustomclaims/hairlenght,
RetrieveHairLenght(userID),
ClaimValueTypes.Double,
"LOCAL AUTHORITY");));
}
}
});
Merci pour cette page. J'ai travaillé en utilisant votre exemple et le lien Cloud Identity. – Lee