Как я могу аутентифицировать и авторизовать методы на microsoft.systemforcrossdomainidentitymanagement
?
Я скачал nuget и следовал их руководство , и вместо добавления
applicationBuilder.UseWindowsAzureActiveDirectoryBearerAuthentication(authenticationOptions);
Я добавил
public class MyProvider : ProviderBase, IProvider
{
public override Action<IAppBuilder, HttpConfiguration> StartupBehavior => OnServiceStartup;
public override Task<Resource> CreateAsync(Resource resource, string correlationIdentifier)
{
throw new NotImplementedException();
}
public override Task DeleteAsync(IResourceIdentifier resourceIdentifier, string correlationIdentifier)
{
throw new NotImplementedException();
}
public override Task<Resource> RetrieveAsync(IResourceRetrievalParameters parameters,
string correlationIdentifier)
{
throw new NotImplementedException();
}
public override Task UpdateAsync(IPatch patch, string correlationIdentifier)
{
throw new NotImplementedException();
}
private void OnServiceStartup(IAppBuilder applicationBuilder, HttpConfiguration configuration)
{
// IFilter is defined in System.Web.Http.dll.
System.Web.Http.Filters.IFilter authorizationFilter =
new System.Web.Http.AuthorizeAttribute(); // Defined in System.Web.Http.dll.configuration.Filters.Add(authorizationFilter);
applicationBuilder.UseJwtBearerAuthentication(new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Passive,
AuthenticationType = "OAuth",
AllowedAudiences = new[] { "audiace" },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[] { new SymmetricKeyIssuerSecurityTokenProvider("MyIssuer", TextEncodings.Base64Url.Decode("key")) }
});
}
}
Это не работает.Даже если я позвоню без заголовков авторизации, он достигнет методов.: \
GET http://localhost:56315/scim/users/1