2017-01-24 296 views
1

我有一個愛好項目在腦海中使用battle.net登錄。我想知道如何在接收到授權碼後從API獲取訪問令牌。如何使用授權碼向Battle.net OAuth請求訪問令牌?

這是Oauth流問題而不是戰網問題。

目前我可以成功授權我的應用程序在dev.battle.net中註冊,然後嘗試使用從battle.net登錄返回的授權碼通過向https://<region>.battle.net/oauth/token發送請求來獲取訪問令牌。 不過,我不斷收到此錯誤:

{ "error": "unauthorized", "error_description": "An Authentication object was not found in the SecurityContext" }

我用郵差擴展發送POST請求到該URI。我使用我的客戶ID和祕密驗證了我的請求。我傳遞redirect_uri(https://localhost),granty_type(authorization_code),代碼(從上一個授權步驟返回的代碼)。但是我不斷收到上面的錯誤。

我在網上找不到很多關於battle.net的資料。還有其他oauth相關的幫助文章,但不能真正找到我的方式。想知道如果你能幫助我這個簡單的東西。我只是想知道我在這裏跳過什麼。

下面是文檔: https://dev.battle.net/docs/read/oauth

https://localhost我mashery dev的帳戶的應用程序設置中添加。 Postman post request screenshot

回答

1
再次

我,我決心在宇宙:)幾乎每一個組合試圖後問題

步驟申請:

  • 不要使用不同的訪問令牌試驗相同的授權令牌,它們無效
  • 在您測試的每個域名(包括本地主機)上始終使用https,您的 redirect_uri也必須爲https。
  • 在從上一步獲得的授權碼中請求令牌時,您必須在POST請求頭中使用「基本認證」。
  • 這是最重要的之一:對於請求令牌,將redirect_uri,客戶端密鑰和祕密作爲POST表單參數傳遞給已認證的請求。這很有趣,因爲它已經是一個認證請求;爲什麼我需要再次通過我的祕密?無論如何,這就是它的工作原理。

以下是全文: http://hakanu.net/oauth/2017/01/26/complete-guide-of-battle-net-oauth-api-and-login-button/

這是工作的原型: https://owmatch.me

感謝。

相關問題