У меня есть библиотека angular-oauth2-oidc
, настроенная для использования с Auth0. Однако Auth0 продолжает посылать мне очень короткий токен доступа, например mSNhEfdDHK6t-kT5QweRtgec-FPGAsdfEw9
вместо полного токена JWT. Вот как воспроизвести проблему:
- Создайте образец "API" в Auth0, к которому вы хотите получить доступ в качестве ресурса.
- Создание приложения SPA, настроенного для неявного потока в Auth0.
- Выполните быстрый старт с
angular-oauth2-oidc
или клона моего репо образца .
Настройте его следующим образом:
export const authConfig: AuthConfig = {
issuer: 'https://your-tenant-name.eu.auth0.com/',
clientId: 'your-spa-client-id-here',
redirectUri: window.location.origin + '/index.html',
scope: 'openid profile email',
};
Для вызова initImplicitFlow()
нажмите кнопку входа в приложение.
Когда вы это сделаете:
- Результат: полный JWT IdToken, но короткий AccessToken.
- Ожидается: оба токена являются полными токенами JWT.
На форумах сообщества Auth0 существует эта тема *1039*, объясняющая, почему вы получаете такую "непрозрачную строку" для токена доступа. В верхнем принятом ответе упоминаются вещи, которые я уже делаю (sope
, как я делал, звоню /authorize
и т. Д.). Тем не менее, ниже в этой теме упоминается , установка audience
при вызове /authorize
- это решение , которое в любом случае кажется хорошим.
Но как вы отправите audience
? Для AuthConfig
типа такого свойства не существует, и, глядя на источник initImplicitFlow()
, он просто меняется location.href
, поэтому там тоже нет перехвата.