auth0 在flutter环境中返回一个短的AccessToken
Posted
技术标签:
【中文标题】auth0 在flutter环境中返回一个短的AccessToken【英文标题】:auth0 returns a short AccessToken in the flutter environment 【发布时间】:2020-11-06 16:22:01 【问题描述】:我已参考以下文章将 auth0 身份验证合并到我的 Flutter 应用中。https://auth0.com/blog/get-started-with-flutter-authentication/
通过此设置,可以获取谷歌用户信息等。 但是,当我使用登录后获得的 AccessToken 访问我的 API 服务器时,出现 401 错误。
看AccessToken,它是一个很短的,不是一个完整的token。
看下面的文章,据说你应该指定你的 API Server 的“受众”。 但我不知道如何指定“受众”。https://community.auth0.com/t/access-token-too-short-jwt-malformed/9169/7
final AuthorizationTokenResponse result =
await appAuth.authorizeAndExchangeCode(
AuthorizationTokenRequest(
AUTH0_CLIENT_ID,
AUTH0_REDIRECT_URI, // How do you specify 'audience'?
issuer: 'https://$AUTH0_DOMAIN',
scopes: ['openid', 'profile', 'offline_access'],
),
);
请告诉我如何获取完整的 AccessToken。 谢谢!
【问题讨论】:
【参考方案1】:可以使用additionalParameters
键包含观众参数:
final AuthorizationTokenResponse result =
await appAuth.authorizeAndExchangeCode(
AuthorizationTokenRequest(
AUTH0_CLIENT_ID, AUTH0_REDIRECT_URI,
issuer: 'https://$AUTH0_DOMAIN',
additionalParameters: 'audience': AUTH0_AUDIENCE ,
scopes: ['openid', 'email', 'profile', 'offline_access'],
//promptValues: ['login'],
);
如您在上面链接的文档中所述,这将导致 Auth0 返回 JWT access_token 而不仅仅是一个短令牌。
https://auth0.com/blog/get-started-with-flutter-authentication/ 上的 cmets 向 arch18
致敬
【讨论】:
以上是关于auth0 在flutter环境中返回一个短的AccessToken的主要内容,如果未能解决你的问题,请参考以下文章
Auth0 管理 API CreateAsync 返回内部服务器错误 (500)
Auth0 Swift SDK .authentication().login 返回无效令牌
Auth0 SSO Angular 返回 WebpackOk