2016-08-03 2 views
2

Stormpath를 통해 OAuth 2.0 토큰 관리를 내 애플리케이션에 통합하려고합니다.Stormpath 쿠키의 OAuth 액세스 토큰

public Cookie buildAuthCookie(OauthGrantAuthenticationResult ogar){ 
    Cookie authCookie = new Cookie("authCookie", ogar.getAccessTokenString()); 
    authCookie.setSecure(true); 
    authCookie.setHttpOnly(true); 
    return authCookie; 
} 

등처럼 내 반응에 부착 :

response.addCookie(buildAuthCookie(ogar)); 

난에 연결하는 데 필요한 유일 현재 내가 이렇게 같은 쿠키를 구축하여 쿠키에 액세스 토큰을 저장하고있어 쿠키를 OAuthGrantAuthenticationResult에서 액세스 토큰 또는 내가 추가해야 할 다른 것이 있습니까? 내가 읽은 문서 (http://docs.stormpath.com/guides/token-management/)는 클라이언트가 토큰 유형을 전달하는 것처럼 보이지만 쿠키에서 클라이언트에 전달해야하는 내용입니까?

답변

0

Stormpath API의 결과 형태는 token_type 속성을 제공합니다.이 속성은 Bearer으로 정의되며 OAuth 엔드 포인트의 예상 기본값입니다. 아이디어는 토큰이 미래의 요청 <token> 당신이 getAccessTokenString()

에서 그러나 귀하의 경우에는 당신에게 '에있어 소형 토큰 문자열이있는 HTTP 헤더 Authorization: Bearer <token>로되는 기본 전략을 인증하는 데 사용되는 방법 클라이언트를 알려 드리고자합니다 그것을 쿠키에 저장할 것이고, 브라우저는 Cookie 헤더로 그것을 돌려 보낼 것입니다. 멋지고 간단합니다. 그래서 클라이언트가 토큰에 대해 많이 알 필요가 없습니다. 그러나 쿠키의 만기 시간을 토큰의 만기 시간과 같게 설정하여 브라우저가 더 이상 유효하지 않을 때 자동으로 토큰을 제거하도록해야합니다.

당신은 악의적 인 JavaScript에 의해 도난 당하지 않는 안전한 http 전용 쿠키로 만들 수도 있습니다. 따라서이 접근법은 나에게 꽤 좋아 보입니다.

+0

응답 해 주셔서 감사합니다. 구현과 관련하여 너무 멀리 떨어져있을 수는 없다고 생각했지만, 여기서 한 일이 견고하다는 확신을 얻고 싶었습니다. – tinker

+0

내가 도울 수있어서 기쁩니다! 추신 저는 [Stormpath] (https://stormpath.com)에서 일하고 있으며, 통합에 대한 지원을 좋아합니다. 더 많은 질문이 있으면 여유있는 채널에 가입하십시오. https://talkstormpath.slack.com – robertjd

+0

수정 된 링크 : https://talkstormpath.shipit.xyz =] –

관련 문제