2017-02-23 101 views
7

我正在使用賬戶鏈接在Alexa中創建自定義技能。我已經使用OAuth2 php庫創建了自己的身份驗證服務器,並且已經在技能配置中配置了授權網址和令牌網址。Alexa,無法鏈接您的技能

當我嘗試從Alexa移動應用程序進行帳戶鏈接時,出現錯誤「無法鏈接您的技能」。以下是我的工作進展。

  • Alexa應用程序能夠打開我的身份驗證網址。
  • 我可以通過重定向URI授權並提供授權碼。
  • Alexa正在使用之前提供的授權碼請求訪問令牌。
  • 我可以驗證授權代碼並使用訪問令牌和刷新令牌進行迴應。
  • Alexa在這一步失敗與我的技能鏈接。它說'無法鏈接你的技能'。

我已經通過我的論壇關於相同的,但無法找到究竟是什麼問題。在這方面請任何人幫助我。

+0

你有重定向url的例子嗎?特別是查詢字符串。 –

+0

https://layla.amazon.com/api/skill/link/xxxxxxxxxxxxxx?code=xxxxxxxxx&state=xxxxx。這是我的重定向的樣子,當授權 – Arun

+0

亞馬遜的官方文檔的這些問題: https://forums.developer.amazon.com/articles/38610/alexa-debugging-account-linking.html – psykid

回答

2

如果您重定向鏈接是目前:

https://layla.amazon.com/api/skill/link/xxxxxxxxxxxxxx?code=xxxxxxxxx&state=xxxxx

您需要的?更改爲#

例如

https://layla.amazon.com/api/skill/link/xxxxxxxxxxxxxx#code=xxxxxxxxx&state=xxxxx

+1

我正在使用授權碼授權類型,在這種方法如果我改變?到#它拋出錯誤消息。當我使用隱式授權類型時,它對您提到的內容工作正常。所以目前我使用隱式授權類型,但我的要求是使用授權授予類型。 – Arun

2

我面臨同樣的問題太多,這個問題是通過選擇「在請求主體資格證書」(默認爲HTTP基本)爲「客戶端身份驗證計劃」,因爲在我的情況下訪問令牌得到解決發送給消息的正文。檢查服務器如何發送身份驗證令牌。

0

在我的情況的問題是與客戶端機密, 在谷歌開發者控制檯添加你的技能重定向的URI 並重新檢查你的Alexa的技術授權交付式

0

我的問題是與最終提供客戶端機密AccessToken呼叫。我假設它正在使用GET請求,所以我只在我的函數中滿足這個要求。它實際上是創建一個訪問令牌。所以它使用POST。

當我更新我的函數來使用帖子並返回JSON格式的AccessToken它一切正常。