我跟着this tutorial和已經得到的地步,我解碼返回的標記,並提取電子郵件地址(應存儲在preferred_username屬性)即,下面的代碼:的OAuth2令牌不包含preffered_username要求
decoded_token = Base64.urlsafe_decode64(encoded_token)
jwt = JSON.parse(decoded_token)
email = jwt['preferred_username']
的問題是,返回的對象不包含此屬性,什麼,我得到的回覆是類似於下面:
{
"ver":"2.0",
"iss":"https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0",
"aud":"0ab6433e-84fc-469b-8c72-41f7a0241a61",
"exp":1458142389,
"iat":1458055989,
"at_hash":"0OYaLKpTTdHNBrQNOqwQ0Q",
"sub":"AAAAAAAAAAAAAAAAAAAAAC1TrOaOmvInYrFAyrQjlFI",
"tid":"9188040d-6c67-4c5b-b112-36a304b66dad"
}
快速格蘭ce在the spec表示我從Office 365獲得正確的對象,因爲preferred_username被提及爲潛在的聲明,但它不在我回來的對象中。
這是可能的我沒有調用get_token函數與正確的參數,但the documentation for the library is pretty sparse,所以我真的不知道。
I have raised an issue on Github.
這是在Office 365結束一個錯誤,本教程的錯誤,還是我做錯了自己?
你可以我們'fetch'。更多信息http://ruby-doc.org/core-2.2.0/Hash.html#method-i-fetch – devanand