Я настроил свое приложение для использования стратегии токенов неявного потока Azure B2C, чтобы предоставлять мне токены через вход после регистрации / входа в URI. Это работает нормально, и токены авторизуются без сучка и задоринки.
Однако клиент является SPA, поэтому, когда срок действия токена истекает, документированный обходной путь, предложенный Microsoft, заключается в использовании iframe, который выполняет вызов конечной точки authorize
, как описано здесь: Получить токены доступа
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?client_id={my_client_id}&response_type=token&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&scope=openid&response_mode=fragment&state=12345&nonce=678910&prompt=none&domain_hint=organizations&[email protected]
К сожалению, если я запрашиваю id_token, используя область openid с этой конечной точкой, фактически возвращенный токен не авторизуется через B2C в моем API. Изучение токена JWT в декодере также показывает, что сам токен выглядит иначе, чем тот, который был получен после входа в систему из B2C.
Я понимаю, что эта документация предназначена для Azure Active Directory и что B2C на данный момент не поддерживает SPA, но ранее я слышал от представителей Microsoft, что это должно работать.
Неужели это еще не поддерживается? А если нет, есть ли обходные пути для SPA?