我需要从阿宝注销一个按钮按在颤栗;
此包没有任何注销方法。
这是我的get令牌代码:
appAuth.authorizeAndExchangeCode(AuthorizationTokenRequest(
clientID, redirectUrl,
discoveryUrl: discoveryUrl,
scopes: scopes,
clientSecret: clientSecret发布于 2020-12-12 09:02:05
在这个包中,没有任何解决方案,但是这个问题可以通过两种方式解决:
这样做:
final AuthorizationTokenResponse result =
await appAuth.authorizeAndExchangeCode(
AuthorizationTokenRequest(
your_client_id,
your_localhost,
promptValues: ['login'],
discoveryUrl:
your_discovery_url,
scopes: [your_scopes],
),
);发布于 2020-12-13 12:00:09
这里有两个主要的选项,作为第一步,我想看看你是否能让第一个选项发挥作用,与Mohammad的评论一致:
选项1:简单注销
只需从应用程序中删除任何存储的令牌即可。问题在于它没有删除授权服务器会话Cookie。因此,默认情况下,您不能强制另一个登录提示(如以新用户的身份登录)。一种方法是在执行登录重定向时将prompt=login作为参数发送。
选项2:完全注销
完全注销涉及这两个操作,可能需要深入了解AppAuth内部:
这里有一些我的Android代码示例,用于划分一个Custom,用于注销重定向。
还有其他一些潜在的问题,比如由于缺少用户姿态而导致的断断续续的Chrome白屏幕在注销后无法返回应用程序。
进一步信息
我的博客文章提供了一些关于AppAuth集成的更多细节,以及您可以运行的代码示例,以防其中任何一个有用。我直接从Kotlin / Swift使用AppAuth库,而您需要处理额外的颤振插件层:
发布于 2022-02-11 17:40:55
我创建了一个方法,通过这样结束会话来负责注销用户:
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中)https://stackoverflow.com/questions/65262852
复制相似问题