2017-03-23 7 views
0

우선 내 나쁜 영어를 용서하십시오.Stateless .NET JWT 기반 oauth2 인증 서버

저는 oauth2에서 newby이고 JWT 토큰을 사용하여 권한 서버를 설정하려고합니다.

서버가 Owin 자체 호스팅 환경에서 실행되고 있습니다.

토큰 생성을 설정했는데 제대로 작동하는 것처럼 보였습니다. 새로 고침 토큰 공급자를 설치했는데 제대로 작동하는 것 같습니다.하지만 최소한의 구현 일뿐입니다. RefreshTokenFormat을 OAuthAuthorizationServerOptions에서 기본값으로 변경하지 않았으므로 (기본 형식이 무엇인지 모릅니다) 액세스 토큰이 명확하게 JWT 토큰이고 새로 고침 토큰이 다른 것입니다.

이 모든 것이 제대로 작동하는 것으로 보이지만 마이크로 서 비스 환경에서이 권한 부여 서버를 실행해야 인증 서버 서비스가 한 머신에서 다른 머신으로 이동할 수 있으므로 상태가 필요하거나 적어도 공유 스토리지 (DB) 또는 복제 된 로컬 스토리지 (필자는 서비스 패브릭) 또는 일종의 분산 캐시에 필요한 정보를 저장해야합니다.

테스트 컴퓨터에서 새로 고침 토큰을 생성 한 다음 다른 액세스 토큰을 얻기 위해 (다른 컴퓨터에서) 인증 서버의 다른 인스턴스에서이 새로 고침 토큰을 사용하려고하면 실패합니다 일반적인 invalid_grant 오류가 있습니다. 내 생각에 인증 서버는 메모리에 토큰 관련 정보를 보관하지만 정확히 무엇을 어떻게 알지는 못합니다.

나는 또한 누군가가이 문제를 해결하기 위해 올바른 방향으로 나를 가르쳐주기를 바랍니다.

당신에게 대단히 감사합니다.

답변

0

새로 고침 토큰에 대해서도 JWT 토큰을 사용하여 상황을 해결했습니다. 이렇게하면 인증 서버는 완전하게 상태가없는 것처럼 보입니다.