2016-06-16 3 views
0

Я реализовал внешний вид REST api в приложении Rails после этого официального учебника: https://dev.outlook.com/restapi/tutorial/ruby Кстати, его необходимо обновить. Перспективы теперь требуют больше разрешений ('profile'), чтобы получить электронную почту пользователя в контроллере Идента:Окончание срока действия API-интерфейса REST

SCOPES = [ 'openid', 'profile', 'https://outlook.office.com/mail.read' ] 

Во всяком случае, я храню электронную почту и маркер после аутентификации, но этот маркер очень кратковременный. Мне нужен способ постоянно хранить аутентификацию для пользователя. Когда я запускаю вещи, как предложен и хочу получить сообщения электронной почты ответ является:

... 
    response_headers: !ruby/hash-with-ivars:Faraday::Utils::Headers 
    elements: 
     content-length: '0' 
     server: Microsoft-IIS/8.5 
     set-cookie: exchangecookie=afaeef5a8a6747aab24dad1ddb97a8fb; expires=Fri, 16-Jun-2017 
     00:07:54 GMT; path=/; HttpOnly 
     www-authenticate: Bearer client_id="00000002-0000-0ff1-ce00-000000000000", trusted_issuers="[email protected]*", 
     token_types="app_asserted_user_v1 service_asserted_app_v1", authorization_uri="https://login.windows.net/common/oauth2/authorize", 
     error="invalid_token",Basic Realm="",Basic Realm="" 
     request-id: c59488ab-62b5-4a9f-a3f5-43bda739c9ab 
     x-calculatedbetarget: BLUPR07MB260.namprd07.prod.outlook.com 
     x-backendhttpstatus: '401' 
     x-ms-diagnostics: '2000010;reason="ErrorCode: ''PP_E_RPS_REASON_TIMEWINDOW_EXPIRED''. 
     Message: ''Failed the Validate call, reason: Time window expired.%0d%0a''";error_category="invalid_msa_ticket"' 
     x-diaginfo: BLUPR07MB260 
     x-beserver: BLUPR07MB260 
     x-powered-by: ASP.NET 
     x-feserver: BN3PR16CA0057 
     x-msedge-ref: 'Ref A: 3E2E02429DE244F7A738A7BE6CF9E06B Ref B: CAA6321D024D5B725BA8FFE7DAC85411 
     Ref C: Wed Jun 15 17:07:54 2016 PST' 
     date: Thu, 16 Jun 2016 00:07:54 GMT 
     connection: close 
    ivars: 
     :@names: 
     content-length: content-length 
     server: server 
     set-cookie: set-cookie 
     www-authenticate: www-authenticate 
     request-id: request-id 
     x-calculatedbetarget: x-calculatedbetarget 
     x-backendhttpstatus: x-backendhttpstatus 
     x-ms-diagnostics: x-ms-diagnostics 
     x-diaginfo: x-diaginfo 
     x-beserver: x-beserver 
     x-powered-by: x-powered-by 
     x-feserver: x-feserver 
     x-msedge-ref: x-msedge-ref 
     date: date 
     connection: connection 
    status: 401 

Как настроить этот код, чтобы сохранить постоянный маркер?

ответ

0

OK < Я нашел несколько ответов на StackOverflow для разных стеков. Обычно я удаляю свой пост, но для разработчика Rails, которому это может понадобиться, ответ на мои вопросы просто добавляет 'offline_access' в SCOPES = [ 'openid', 'profile', 'offline_access', 'https://outlook.office.com/mail.read' ]