Написание хипчата клиента: Аутентификация HipChat
Я создаю прототип клиента HipChat, и я застрял в создании хорошего опыта аутентификации. Я хотел бы реализовать диалог аутентификации, аналогичный тому, который предоставляют клиенты HipChat, созданные Atlassian. Нет необходимости создавать аутентификационные токены / etc, вы просто вводите email / пароль и клиент может получить oauth-токен.
Как они это делают? Клиенты используют com.atlassian.hipchat.win-clients как client_name в запросе на https://www.hipchat.com/users/authorize.
Вопрос, который у меня есть: как мне зарегистрировать своего клиента? Если я использую любое случайное имя, я получаю "Named OAuthClient not found ".
Как зарегистрировать имя клиента, которое будет работать с любым сервером HipChat, включая hipchat.com?
2 ответа
Обновлено:
Я сделал пример. Пожалуйста, взгляните.
https://github.com/chenghuang-mdsol/StandupCat
@VitaliyGanzha Я использовал один способ: создать провайдера аутентификации на основе токена интеграции.
- Сделайте интеграцию, уберите auth_token.
- Используйте этот auth_token на API здесь: https://www.hipchat.com/docs/apiv2/method/generate_token
используйте grant_type 'пароль' и введите имя пользователя и пароль в своем почтовом запросе.
- Он вернет информацию о пользователе.
- Основываясь на информации о пользователе, которую вы вернули, вы делаете вашего участника провайдера.
- Обратите внимание, что этот auth_token имеет очень ограниченное разрешение. Если вы хотите сделать больше, чем аутентификацию, вам нужен еще один личный токен auth_token, который можно сгенерировать в вашем аккаунт-центре.
Протестировано в C# WCF
Здесь у меня есть ответ, что это невозможно сейчас:
В настоящее время это невозможно. Поток, который вы описали с помощью идентификатора oauth com.atlassian.hipchat.win-clients, используется внутри наших новых настольных и мобильных клиентов. Единственный другой способ получить токен доступа с помощью трехстороннего потока oauth - создать надстройку, для установки которой требуется клиент HipChat. Наши токены OAuth определяются группой. У нас нет разрешенных глобальных токенов. Извини за это.
https://answers.atlassian.com/questions/32989448/writing-hipchat-client-hipchat-authentication