같은 시작에서 identityserver3 및 웹 API (무기명 토큰을 사용하는 사용자 관리 용)를 공동 호스팅하려고합니다. 그러나 다음 오류가 발생합니다. 작업이 취소되었습니다. http://identity_local/core/.well-known/openid-configuration (identity_local이 localhost를 가리킴)을 호출 할 때 시작시 작업 취소가 발생합니다. 그것은이 가능합니다)는 같은 시작에서와 b) 그렇다면, 무엇이 내가 잘못했을 또는 I가 무엇을 할 수 모두 가지고있는 경우작업이 취소되었습니다.
는app.Map("/core", idsrvApp =>
{
var factory = new IdentityServerServiceFactory();
factory.UserService = new IdentityServer3.Core.Configuration.Registration<IUserService, UserService>();
factory.ScopeStore = new IdentityServer3.Core.Configuration.Registration<IScopeStore>(resolver => scopeStore);
var options = new IdentityServerOptions
{
SigningCertificate = Certificate.Load(),
IssuerUri = "http://identity_local/core",
PublicOrigin = "http://identity_local",
RequireSsl = false, //for now
Factory = factory,
};
idsrvApp.UseIdentityServer(options);
});
app.Map("/admin", adminApp =>
{
adminApp.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "http://identity_local/core",
IssuerName = "identity_local",
ValidationMode = ValidationMode.Local,
RequiredScopes = new[] { "api", "roles" }
});
adminApp.UseResourceAuthorization(new AuthorisationManager());
var config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
adminApp.UseCors(CorsOptions.AllowAll);
adminApp.UseWebApi(config);
});
는 아는 사람 있나요 : 다음과 같이
내 시작이다 위의 문제를 해결하십시오.
:
이 상황에 대한는, 그것이 필요한 처음 할 때까지 메타 데이터를로드 지연
DelayLoadMetadata
라는 깃발있다! 나는 일주일 동안 해결책을 찾고 있었다. 그리고 간단히'IdentityServerBearerTokenAuthenticationOptions'에'DelayLoadMetadata = true'를 설정하면 트릭이 실행됩니다. 이것은 정답으로 표시되어야합니다. 실제로 그것은 IdentityServer3에 의한 시작 연습에 있어야합니다. – Michael