【问题标题】:auth0 returns a short AccessToken in the flutter environmentauth0 在flutter环境中返回一个短的AccessToken
【发布时间】: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。
谢谢!

【问题讨论】:

    标签: flutter auth0


    【解决方案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 向 arch​18 致敬

    【讨论】:

      猜你喜欢
      • 2021-05-30
      • 1970-01-01
      • 2016-11-02
      • 2021-03-05
      • 2020-12-05
      • 2018-03-18
      • 1970-01-01
      • 2021-12-08
      • 2020-07-03
      相关资源
      最近更新 更多