Slack Oauth / Вызов API авторизации

Я новичок в OAuth (и Slack API), и у меня есть вопрос относительно шага 1 потока OAuth .

В нем говорится: "Ваше веб-приложение или мобильное приложение должно перенаправлять пользователей на следующий URL: https://slack.com/oauth/authorize ". Сначала я подумал, что мне нужно сделать запрос XHR, но потом понял, что это не то, что я хочу.

После дополнительных исследований я обнаружил, что первоначальный запрос oauth / авторизации должен быть отправлен как прямой запрос в браузере. Моя проблема в том, что я не могу представить себе, как это должно быть сделано. Я ссылался на части этого руководства (прокрутите вниз до раздела "Интернет Серверные приложения ''), но мне не помогает то, что я могу осмыслить петицию oauth / authorize.

По сути, я ищу кого-нибудь, кто лучше объяснит мне, как должно быть сделано это первоначальное ходатайство. Любая помощь приветствуется!

заранее спасибо


person dannyk    schedule 12.05.2016    source источник
comment
Вы создаете веб-приложение? Просто дайте пользователю гиперссылку, чтобы щелкнуть по ней, чтобы перейти к /authorize, или верните перенаправление (302). В мобильном приложении вы хотите открыть браузер по умолчанию или, возможно, встроенное веб-представление.   -  person user94559    schedule 12.05.2016
comment
На данный момент это просто файл сценария (js). Я не создаю веб-приложение. Могу ли я добиться этого, не создавая веб-приложение, а просто придерживаясь базового файла сценария?   -  person dannyk    schedule 12.05.2016
comment
Я так не верю. Поток OAuth в Slack поддерживает только перенаправление на URL-адрес, поэтому для выполнения OAuth вам понадобится веб-сервер, который может получать перенаправление.   -  person user94559    schedule 12.05.2016
comment
@smarx спасибо за руководство, я очень ценю это. Это очень помогает!   -  person dannyk    schedule 12.05.2016


Ответы (1)


Вам следует ознакомиться с документацией по кнопке Slack.

Там вы найдете пример для своего 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

person Sheikan    schedule 11.01.2017