Процесс обмена токенов - как зарегистрироваться и войти в систему

Вот мое понимание потока обмена токенами:

Сначала я должен следовать этому разделу документов: https://developers.tapkey.io/api/authentication/identity_providers/

После создания поставщика удостоверений я хочу зарегистрировать своего тестового пользователя, используя эту конечную точку https://developers.tapkey.io/openapi/tapkey_access_management_web_api_v1/#/Identity%20Provider%20Users/OwnerIdentityProviderUsers_Put.

Первый вопрос, связанный с конечной точкой выше, заключается в том, как авторизовать этот запрос? В документации swagger есть только варианты clientCredential и AuthorizationCodeAuth. Означает ли это, что мне нужен один из этих типов авторизации, чтобы я мог авторизовать запрос с моего сервера (скажем, с точки зрения приложения). Для конечных точек, таких как:

  • Список всех владельцев
  • Зарегистрировать пользователя
  • и т. д.

Теперь предположим, что я зарегистрировал пользователя, используя учетные данные клиента для авторизации запроса. Я пытаюсь войти в систему, следуя разделу Token Exchange в документах.

Там написано, что мне нужно использовать это POST https://login.tapkey.com/connect/token, я форматирую jwt, как указано в документах, и отправляю на эту конечную точку. Я использую client_id из моего клиента обмена токенами oAuth. Я получил сообщение об ошибке со следующим сообщением, которое мне довольно ясно, но я не могу найти для него решение.

{ error: 'unauthorized_client', error_description: 'Client not authorized' }

Проблема заключалась в том, что старый OAuthClient не мог быть подключен к новому провайдеру indetity (после нескольких попыток). Итак, я только что создал новую биржу токенов OAuthClient. Любая обратная связь с моим предположением о потоке будет высоко оценена. Спасибо!

Uros Ceranic 11.05.2022 17:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
18
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В основном типы проверки подлинности списка в документах swagger должны иметь возможность тестировать конечные точки в пользовательском интерфейсе swagger. Таким образом, можно создать клиент oAuth, передать его пользовательскому интерфейсу swagger и протестировать конечные точки.

Сами конечные точки не различаются по типу аутентификации.

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

Поток кода авторизации

Если у вас есть сервис, который работает от имени пользователя Tapkey, следует использовать поток кода авторизации.

Например. у вас есть платформа бронирования, и ваш клиент должен иметь возможность предоставлять доступ к принадлежащим ему замкам.

Невозможно использовать поток кода авторизации для входа в Tapkey Mobile SDK и разблокировки замков. Клиент авторизации не может запрашивать требуемые области действия.

Поток учетных данных клиента

Для связи с сервером 2 для управления вашими услугами, например. для добавления пользователей поставщика удостоверений или управления блокировками, принадлежащими вашим службам, поток учетных данных клиента будет хорошим выбором.

Для этого клиент учетных данных клиента должен быть авторизован в качестве администратора для конкретной системы запирания.

Поток обмена токенов

Чтобы ваши пользователи могли войти в ваше приложение и использовать Tapkey Mobile SDK для разблокировки замков, вы должны подписать свои собственные токены JWT на своем сервере, а затем обменять их на клиенте с помощью поток обмена токенами.

Имейте в виду: невозможно использовать поток кода авторизации для входа в качестве пользователя Tapkey, а затем обменять его с помощью обмена токенами.

Полагаю, это прояснило мне ситуацию. Спасибо за ответ!

Uros Ceranic 12.05.2022 09:56

Другие вопросы по теме