2017-12-28 48 views
0

사용자 지정 사용자 저장소 (SQL Server DB 기반)와 함께 IdentityServer4를 사용하고 있습니다. 모든 요청에 ​​올바른 액세스 토큰이 있는지 확인하기 위해 액세스 토큰을 저장할 수있는 방법을 알고 싶습니다.액세스 토큰 저장 (Identityserver4)

기본 운영 저장소를 사용하려고했지만 새로 고침 토큰 및 인증 코드 만 저장합니다.

미리 감사드립니다.

답변

2

정확하게 이해하면 서버 측에 액세스 토큰을 저장하여 사용자 요청을 인증 할 수 있습니다. 당신은 을 사용하지 않습니다.은 AccessServer가 IdentityServer에서 지정한대로 액세스 토큰을 서버 측에 저장해야합니다. ID 서버를 사용하여 api (리소스 서버)를 올바르게 설정하면 api 컨트롤러에 [Authorize]을 추가하면됩니다 (.net 코어 웹 API를 사용하는 것처럼 보입니다). Github에서 IdentityServer 문서 및 샘플 프로젝트에 대한 많은 예제를 찾을 수 있습니다.

한편 토큰이 만료 될 때까지 사용자를 다시 인증 할 필요가 없으므로 클라이언트 측에 액세스 토큰을 저장해야 할 수도 있습니다. 이것은 사용하는 보조금 유형에 따라 다릅니다. 이는 특히 보조금을 ResourceOwnerPassword 부여 할 때 해당됩니다. 클라이언트 쪽이 SPA (예 : 각도)이면 일반적으로 액세스 토큰은 브라우저의 로컬 저장소에 저장됩니다. 각 클라이언트 요청에 대해 이미 토큰이 있는지 여부를 확인하고, 토큰이 만료되지 않았는지 확인합니다.

그리고 액세스 토큰이 만료 될 때 사용자가 자동으로 다시 인증되도록 다른 부여에 대한 새로 고침 토큰을 지원할 수 있습니다.