首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用flutter_appauth注销?

如何使用flutter_appauth注销?
EN

Stack Overflow用户
提问于 2020-12-12 08:09:30
回答 4查看 3.9K关注 0票数 3

我需要从阿宝注销一个按钮按在颤栗;

此包没有任何注销方法。

这是我的get令牌代码:

代码语言:javascript
复制
appAuth.authorizeAndExchangeCode(AuthorizationTokenRequest(
                clientID, redirectUrl,
                discoveryUrl: discoveryUrl,
                scopes: scopes,
                clientSecret: clientSecret
EN

回答 4

Stack Overflow用户

发布于 2020-12-12 09:02:05

在这个包中,没有任何解决方案,但是这个问题可以通过两种方式解决:

  1. 它是您的浏览器,因此您可以清除浏览器的缓存:)
  2. 当您调用用于授权和交换代码的方法时,需要添加一个名为"promptValues“的附加参数,该参数具有'login‘值。这样,每次登录时缓存中都没有值,它总是请求一个新登录。

这样做:

代码语言:javascript
复制
final AuthorizationTokenResponse result =
    await appAuth.authorizeAndExchangeCode(
      AuthorizationTokenRequest(
        your_client_id,
        your_localhost,
        promptValues: ['login'],
        discoveryUrl:
        your_discovery_url,
        scopes: [your_scopes],
      ),
    );
票数 5
EN

Stack Overflow用户

发布于 2020-12-13 12:00:09

这里有两个主要的选项,作为第一步,我想看看你是否能让第一个选项发挥作用,与Mohammad的评论一致:

选项1:简单注销

只需从应用程序中删除任何存储的令牌即可。问题在于它没有删除授权服务器会话Cookie。因此,默认情况下,您不能强制另一个登录提示(如以新用户的身份登录)。一种方法是在执行登录重定向时将prompt=login作为参数发送。

选项2:完全注销

完全注销涉及这两个操作,可能需要深入了解AppAuth内部:

  • 从应用程序中删除存储的令牌
  • 通过结束会话请求重定向以删除授权服务器会话cookie

这里有一些我的Android代码示例,用于划分一个Custom,用于注销重定向。

还有其他一些潜在的问题,比如由于缺少用户姿态而导致的断断续续的Chrome白屏幕在注销后无法返回应用程序。

进一步信息

我的博客文章提供了一些关于AppAuth集成的更多细节,以及您可以运行的代码示例,以防其中任何一个有用。我直接从Kotlin / Swift使用AppAuth库,而您需要处理额外的颤振插件层:

票数 3
EN

Stack Overflow用户

发布于 2022-02-11 17:40:55

我创建了一个方法,通过这样结束会话来负责注销用户:

代码语言:javascript
复制
Future<bool> endSession(String idToken) async {
    //work like logout method
    try {
      await appAuth.endSession(EndSessionRequest(
          idTokenHint: idToken,
          issuer: _issuer,
          postLogoutRedirectUrl: _redirectUrl,
          allowInsecureConnections: _allowInsecureConnections));
    } catch (err) {
      print(err);
      return false;
    }
    return true;
  }
  • 如果您使用的是键盘斗篷,那么_issuer就会像http://localhost:8080/auth/realms/REALM-NAME那样
  • idToken是您在登录后收到的(在AuthorizationTokenResponse中)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65262852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档