2016-08-03 1 views
2

Я работаю над интегрированием управления токеном OAuth 2.0 через Stormpath в мое приложение. В настоящее время я хранить маркер доступа в печенье, построив печенье, как так:Точка доступа Stormpath OAuth на cookie

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

и присоединение его к моему ответ так:

response.addCookie(buildAuthCookie(ogar)); 

Это единственное, что мне нужно приложить к cookie из OAuthGrantAuthenticationResult для доступа или есть что-то еще, что мне нужно добавить? Документация, которую я читал (http://docs.stormpath.com/guides/token-management/), кажется, что клиент также передает маркерный тип, но это то, что мне нужно передать клиенту в cookie?

ответ

0

Результат формы API Stormpath предоставляет атрибут token_type, определенный как Bearer, так как это ожидаемое значение по умолчанию от конечной точки OAuth. Идея заключается в том, чтобы проинформировать клиент о том, как маркер должен использоваться для аутентификации будущих запросов, стратегии умолчания как HTTP заголовок Authorization: Bearer <token>, где <token> является компактным Строковым, который вы получили от getAccessTokenString()

Но в вашем случае, если вы» re, чтобы сохранить его в файле cookie, и браузер отправит его обратно в заголовок Cookie, красивый и простой :), так что клиенту не нужно больше ничего знать о токене. Однако вы должны установить время истечения срока действия файла cookie таким же, как время истечения срока действия маркера, чтобы браузер автоматически очистил токен, когда он больше недействителен.

Вы тоже поступаете правильно, сделав это безопасным, только http-печенье, которое не может быть украдено вредоносным JavaScript, поэтому этот подход выглядит довольно хорошо для меня.

+0

Спасибо за ответ. Я решил, что не могу быть слишком далеко от реализации, но я хотел получить подтверждение, что то, что я здесь делаю, было солидным. – tinker

+0

Я рад, что смог помочь! Постскриптум Я работаю на [Stormpath] (https://stormpath.com), и нам нравится помогать с интеграцией, не стесняйтесь присоединяться к нам в нашем слабом канале, если у вас есть еще вопросы: https://talkstormpath.slack.com – robertjd

+0

Исправлена ​​ссылка : https://talkstormpath.shipit.xyz =] –

Смежные вопросы