2017-01-19 4 views
1

디바이스 및 클라우드 서비스가있는 IOT 유형 프로젝트에서 .net/mono에 대해 C#에서 작업하고 있습니다. 클라우드 서비스는 IdentityServer3을 사용하여 인증 및 클레임을 처리하며 토큰을 성공적으로 제공합니다.ServiceStack에서 어떻게 외부에서 발행 한 JWT를 사용할 수 있습니까?

사용자가 인터넷 연결을 시도 할 때 장치가 인터넷에 연결되지 않아 JWT 토큰을 클라우드에서 가져 와서 완전히 연결이 끊어진 시스템으로 전달할 수 있습니다. JWT의 서명 키는 프로비저닝시 미리 공유되므로 토큰의 무결성을 확인할 수 있습니다.

servicestack에는 JWT가 지원되지만 AuthSession을 채우는 방식으로 요청과 함께 JWT 토큰을 전달하는 방법을 찾을 수 없습니다. 누구나지도 서비스를 제공 할 수 있습니까?

  1. 발급자가 아닌 JWT 내용의 유효성을 검사하고 압축을 풀려면 ServiceStack을 어떻게 구성해야합니까? 나는 이와 같은 예를 찾을 수 없다. 나는 JsonClient.BearerToken과 .SetTokenCookie를 사용하지 않으려 고 시도했다.
  2. 1이 현재 가능하지 않은 경우 필요한 기능을 만들기 위해 제공된 확장 지점에 연결할 수 있습니다. 그렇다면 시작 지점을 안내 할 수 있습니다.

답변

1

ServiceStack에는 자체 JWT 인증 공급자가 있지만 ServiceStack에서 처리 할 토큰을 발행하는 라이브러리와 동일한 라이브러리를 사용해야합니다. ServiceStack에 내장 된 JWT AuthProvider를 토큰 생성에 사용하는 경우에만 사용하십시오.

https://github.com/MacLeanElectrical/servicestack-authentication-identityserver/

또는이 가이드 : IdentifyServer를 처리하는 방법의 예를 들어

http://estynedwards.com/blog/2016/01/30/ServiceStack-IdentityServer-Angular/

토큰을 발행 대신 IdentifyServer를 사용하는 경우

, 당신은이 프로젝트를 체크 아웃 할 수 있습니다.