Но это все. Если вам нужны какие-либо токены доступа или другая авторизация для выполнения действий в рамках этих внешних служб, то вам нужно справиться с этим самостоятельно.

рвых, яне ищем токен доступа для учетной записи Facebook.

Мне (или моему боту мессенджера в Facebook) нужен токен доступа для связанной сторонней учетной записи.
Аккаунт был успешно связан, как описано здесь:https://developers.facebook.com/docs/messenger-platform/identity/account-linking

Немного не по теме: Первая проблема, которую я заметил, которая не соответствует спецификациям OIDC / OAuth2, заключается в том, чтоURI перенаправления дано/ авторизацию конечная точка ожидает парамКод авторизации" вместо"код" с фактическимКод авторизации, Хорошо, хорошо, что мы не используем готовое программное обеспечение для IdP, так что я могу это исправить. Все же.

Теперь я привык из аккаунта Amazon Alexa связываться, чтобы позволить amazon управлять токенами, обновлять и т. Д. И доставлять третьим лицамтокен доступа с каждой просьбой.

Но не с Facebook, кажется. Насколько мне удалось понять (не по документам, а по try & error), для Facebook Messenger привязка аккаунта заканчивается, как только они получаютКод авторизации (и позвоните в связанный веб-крючок). Но так как мне нужен фактическийтокен доступа на каждый запрос к моему боту это не сильно поможет.

Теперь мне кажется, что я должен расширить свой бот, чтобы он стал полноценным, но не стандартизированным клиентом OAauth2 / OIDC (включая обработку токенов, обновление и т. Д.) С некоторыми проблемами:

Как проверить правильность URI перенаправления?должно быть таким же, как в первоначальном запросекак проверить код авторизации?имейте в виду, обычно этот бот не имеет подключений / доступа к базе данных IdPкак связать это с определенным идентификатором пользователя Facebook?

Теперь у меня вопрос: как справиться с таким поведением, когда я собираюсь использовать стандартизированное программное обеспечение для IdP OAuth / OIDC? Есть идеи?

Заранее спасибо Томас

РЕДАКТИРОВАТЬ: Чтобы прояснить, что подразумевается под «связыванием учетной записи»: я не заинтересован в учетной записи пользователя Facebook, я хочу получить доступ к информации сторонней учетной записи (предоставляемой моей реальной службой) этого пользователя. Например, для звонка типа «Сколько картинок в моей учетной записи Tumblr» потребуется клиент, чтобы связать учетную запись Tumblr с этим ботом мессенджера в Facebook.

Для сравнения: с Amazon Alexa и Google Actions это работало очень гладко. Мне просто нужно было ввести учетные данные клиента и конечные точки OAuth, вот и все. Если пользователь успешно связал стороннюю учетную запись, я получаю токен доступа при каждом запросе к моей бэкэнде, как и ожидалось.

EDIT2: Как указывает CBroe, это не поддерживается Facebook. Возможно только «связывание» идентификаторов пользователя.

Ответы на вопрос(0)

Ваш ответ на вопрос