0

Identity Server 4, ASP.NET Core를 사용 중이며 프로덕션 환경에서 IdentityServer 개발자를 교체하려고합니다.IdentityServer 4 : 부여 된 저장 장치가 없습니다. AddInMemoryStores를 사용하십시오.

  • IProfileService을
  • IResourceOwnerPasswordValidator

이 내 ConfigureServices을이다 : 그러나 다음과 같은 오류 점점이 answer에서 언급 그래서

No storage mechanism for grants specified. Use the 'AddInMemoryStores' extension method to register a development version. 

을, 나는 서비스를 구현하려고 메소드 시작 클래스 :

  services.AddMvc(); 
      var identityBuilder = services.AddIdentityServer(); 
      identityBuilder.AddInMemoryScopes(identitySrvConfig.GetScopes()); 
      identityBuilder.AddInMemoryClients(identitySrvConfig.GetClients()); 
      identityBuilder.AddProfileService<ProfileService>(); 
      identityBuilder.Services.AddTransient<IResourceOwnerPasswordValidator, ResourceOwnerPasswordValidator>(); 

내 경우 인터페이스 서명이 다른 고려 사항으로 촬영 :

public class ResourceOwnerPasswordValidator : IdentityServer4.Validation.IResourceOwnerPasswordValidator 
{ 
    public Task ValidateAsync(ResourceOwnerPasswordValidationContext context) 
    { 
     throw new NotImplementedException(); 
    } 
} 

하지만 여전히 같은 오류를 얻고, 문제는 무엇인가?

답변

1

그들은 API를 수정하고 있습니다. 당신은

+0

작동하지 않습니다 사용하고'AddInMemoryPersistedGrants'을 사용한다. 그러나 그것은 다음과 같이 말합니다 :'당신은 메모리 내에서 지속 된 grant 저장소를 사용하고 있습니다. 이것은 승인 결정, 인증 코드, 새로 고침 및 참조 토큰을 메모리에만 저장합니다. 이 프로덕션 환경에있는 것을 사용하고 있다면 다른 저장소 구현으로 전환하려고합니다. ' 암시 적 플로우를 새로 고치지 않고 참조 토큰을 사용하고 있습니다. 그렇다면 제작에 들어갈 때 내 서버에 어떤 영향을 줍니까? – Coding

+0

지속 형 보조금을 일부 형식의 데이터 저장소 (SQL/Mongo)에 저장하지 않을 경우 배포간에 손실됩니다. 따라서 이것을 프로덕션 환경에서 사용할 계획이라면, 백업 가능한 질의 가능한 데이터 저장소를 사용하여'IPersistedGrantStore'를 구현하십시오. – Lutando