首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有重定向的Adal.js注销

没有重定向的Adal.js注销
EN

Stack Overflow用户
提问于 2015-07-29 18:33:52
回答 2查看 4.6K关注 0票数 3

在我们当前的SPA实现中,我们使用AzureAD对adal.js进行身份验证,在成功的身份验证之后,访问我们的web以获得授权数据。有几种情况下,get授权数据调用可能失败。在本例中,我们希望清除adal.js创建的状态/缓存。我尝试了一些事情,但我没有能够创造一个干净的板子。以下是我尝试过的一些代码。

代码语言:javascript
复制
localStorage.clear();
 var authContext = AuthenticationContext.prototype._singletonInstance;
 authContext.clearCache();
 authContext._user = null; 

我不想使用内置的注销功能。调用注销将用户重定向到Azure登录页。用户体验是非常复杂的,所以尽量避免它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-29 18:50:50

如果您想清除adal创建的所有缓存条目,clearCache()是应该使用的方法,如果只想清除特定资源条目的缓存,则使用clearCacheForResource。

但还有一点要注意的是,这两种方法只清除缓存/存储,但它不会清除任何会话/cookie持有的蔚蓝广告,如果您想清除,那么内置的注销应该是使用的。

您可能会尝试实现静默注销(可能使用iframe,这将阻止ux显示),然后调用clearCache清除本地存储/会话存储。

票数 4
EN

Stack Overflow用户

发布于 2015-11-05 13:21:31

可以将postLogoutRedirectUri设置为应用程序设置:

代码语言:javascript
复制
  adalProvider.init(
        {
            instance: 'https://login.microsoftonline.com/',
            tenant: 'www.contoso.com',
            clientId: '0101001010101',
            extraQueryParameter: 'nux=1',
            cacheLocation: 'localStorage', // enable this for IE, as sessionStorage does not work for localhost.
            endpoints: endpoints,
            postLogoutRedirectUri: 'https://www.yourapp.com'
        },
        $httpProvider
        );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31708493

复制
相关文章

相似问题

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