oauth2.0 不支持chrome.identity.getAuthToken

mdfafbf1  于 2023-08-02  发布在  其他
关注(0)|答案(1)|浏览(103)

我已经遵循了tutorial in the documentation的谷歌身份验证用户从我的Chrome扩展写在React。
由于教程不是针对React的,所以我不得不调整调用chrome.identity.getAuthToken的方式。我把对chrome.identity.getAuthToken的调用放到了App组件中的useEffect中:

function App() {
    useEffect(
        () => {
            console.log('chrome', chrome)
            console.log('chrome.identity', chrome.identity)
            console.log('chrome.identity.getAuthToken', chrome.identity.getAuthToken)
            // eslint-disable-next-line no-undef
            chrome.identity.getAuthToken({interactive: true}, function(token) {
                console.log('Token:', token);
            });
        },
        []
    )
    return (
        ... // Stuff unrelated to authentication, renders without a problem
    );
}

字符串
控制台中的输出为:


的数据
因此,函数chrome.identity.getAuthToken被定义,但 * 不支持 *。“不支持”是什么意思?我能错过什么呢?

drkbr07n

drkbr07n1#

根据@wOxxOm的评论,问题是Opera不支持chrome.identity.getAuthToken
Opera的解决方法是使用chrome.identity.launchWebAuthFlow
The linked post提供了一个用法示例。请务必仔细阅读该示例中的注解。

相关问题