2016-05-12 140 views
1

我是OAuth(和Slack API)的新手,對Slack的OAuth Flow的步驟1有疑問。Slack Oauth /授權API調用

它說「您的網站或移動應用程序應該將用戶重定向到以下網址:https://slack.com/oauth/authorize」。起初我以爲我應該做一個XHR請求,但後來明白那不是我想要的。

經過更多的研究,我發現最初的oauth/authorize請求應該作爲瀏覽器中的直接請求發送。我的問題是我無法開始想象這應該如何完成。我一直在引用這個tutorial的部分內容(向下滾動到'Web服務器應用程序'部分),但它並不能幫助我將自己的頭圍繞oauth/authorize請願書。

所以基本上,我正在找人來更好地向我解釋這個初步請願應該如何進行。任何和所有的幫助,非常感謝!

在此先感謝

+0

你正在構建一個網絡應用程序?只需給用戶一個超鏈接點擊即可進入'/ authorize'或返回一個重定向(302)。在移動應用程序中,您需要打開默認瀏覽器或嵌入式Web視圖。 – smarx

+0

目前它只是一個腳本(js)文件。我沒有構建一個Web應用程序。我可以在不構建Web應用程序的情況下實現這一點,只需堅持基本的腳本文件? – dannyk

+3

我不這麼認爲。 Slack的OAuth流程只支持重定向到一個URL,因此要執行OAuth,您需要一個可以接收重定向的Web服務器。 – smarx

回答

1

你應該看看Slack button文檔。

在那裏,你會發現你的slackapp一個例子,是這樣的:

<a href="https://slack.com/oauth/authorize?scope=incoming-webhook&client_id=CLIENT_ID"> 
    <img alt="Add to Slack" height="40" width="139" 
    src="https://platform.slack-edge.com/img/add_to_slack.png" /> 
</a> 

此按鈕請求授權,其中包括傳入網絡掛接一個slackapp,您可以添加內部範圍需要更多的功能,用逗號分隔。 scope=incoming-webhook,commands,bot,channels:read

由於您的教程鏈接,當它說,你應該將它們鏈接到https://oauth2server.com/auth?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=photos

它指的換行轉換爲用戶按鈕:

<a href="https://oauth2server.com/auth?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=photos"> 
    Auth Button 
</a> 

希望這有助於澄清用法/oauth/authorize