У меня настроено мое приложение для использования стратегии токена Azure B2C с неявным потоком, чтобы дать мне токены через вход после входа/входа в URI. Это прекрасно работает, и токены разрешают без заминок.Azure B2C Implicit Flow для SPA с использованием Auth API дает недопустимый токен для области openid
Однако, клиент является SPA, поэтому, когда истекает лексема, документированное обходной путь предложенный Microsoft является использование IFRAME, что делает вызов к authorize
конечной точке как описано здесь: Get Access Tokens
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 doesn't support SPAs at this point, но ранее я слышал от представителей Microsoft, что это должно работать.
Действительно ли это не поддерживается? А если нет, есть ли какие-нибудь обходные пути для SPA?
Существует аналогичное сообщение: http://stackoverflow.com/questions/33975012/authenticating-against-a-webapi-using-azure-b2c-from-an-spa-angular-and-adal-js/ 38035044 # 38035044 –
Я уже видел этот пост. Этот вопрос касается не ADAL, а конечной точки маркера. Я не разрабатываю сам СПА, поэтому не могу контролировать его. – starmandeluxe
Можете ли вы дать более подробную информацию о том, как вы защищаете свой api? –