inf*_*ofo 12 oauth google-chrome-extension
我正在使用chrome.identity登录Chrome扩展程序中的第三方oauth提供程序.它适用于登录 - 当我使用launchWebAuthFlow时,我会看到第三方登录屏幕并在登录流程后重定向回我的应用程序.
但是,我找不到在我的扩展中启用注销功能的方法.似乎没有用于清除缓存的登录标识的功能.下次调用launchWebAuthFlow时,它会自动以第一个用户身份登录,而不会提示我再次登录.
有没有办法清除chrome.identity插件的登录状态?
小智 17
我不知道具体的第三方提供商.但是当我使用带有chrome.identity.launchWebAuthFlow()的Google Oauth时,我遇到了类似的问题.我可以登录用户,但不能使用removeCachedAuthToken()注销
在这种情况下,为了注销用户,我使用了chrome.identity.launchWebAuthFlow()和Google的注销URL而不是oauth URL
chrome.identity.launchWebAuthFlow(
{ 'url': 'https://accounts.google.com/logout' },
function(tokenUrl) {
responseCallback();
}
);
Run Code Online (Sandbox Code Playgroud)
这非常有效.
我发现按顺序调用这两个是可行的:
var url = 'https://accounts.google.com/o/oauth2/revoke?token=' + token;
window.fetch(url);
chrome.identity.removeCachedAuthToken({token: token}, function (){
alert('removed');
});
Run Code Online (Sandbox Code Playgroud)
小智 5
您应该添加prompt=select_account到您的身份验证 URL。你的问题将会得到解决。
https://accounts.google.com/o/oauth2/auth?client_id= {clientId}&response_type=token&scope={scopes}&redirect_uri={redirectURL}&prompt=select_account
| 归档时间: |
|
| 查看次数: |
3016 次 |
| 最近记录: |