chrome.identity.launchWebAuthFlow不起作用,但chrome.identity.getAu



使用 chrome.identity.launchWebAuthFlow将导致 400:redirect_uri_mismatch.
但 chrome.identity.getAuthToken 是成功的.
另外,当我尝试其他项目的客户端 ID 时,chrome.identity.launchWebAuthFlow 也正常工作.
不同之处在于正在审查 OAuth.
原因是什么?

const manifest = chrome.runtime.getManifest();
const scopes = manifest.oauth2.scopes;
const clientId = manifest.oauth2.client_id;
const url = new URL('https://accounts.google.com/o/oauth2/v2/auth');
url.searchParams.append('client_id', clientId);
url.searchParams.append('redirect_uri', chrome.identity.getRedirectURL('auth'));
url.searchParams.append('response_type', 'code token');
url.searchParams.append('scope', scopes.join(' '));
url.searchParams.append('access_type', 'offline');
const email = localStorage.getItem('email');
if (email) {
url.searchParams.append('login_hint', email);
}
chrome.identity.launchWebAuthFlow({ url: url.href, interactive: true }, (redirectURL) => console.log(redirectURL));

解决了。 使用 Web 客户端 ID。

最新更新