identity.getAuthToken生成的令牌无法通过远程API验证

时间:2019-06-11 10:13:02

标签: google-chrome-extension oauth-2.0 google-oauth2 google-client

我和我的团队最近为我们的客户开发了chrome扩展程序。我们希望此chrome扩展程序能够将POST请求发送到客户端的API。

客户端使用google用户令牌验证来验证请求的内容。 (https://packagist.org/packages/google/apiclient

请求包含两个重要字段:令牌和电子邮件。 使用identity.getAuthToken()identity.getProfileUserInfo()获得令牌和电子邮件。

清单中“ oauth2”字段的内容为

"oauth2": {
        "client_id": "OUR_CLIENT_ID.apps.googleusercontent.com",
        "scopes": [
            "email"
        ]
    }

现在,获取的令牌无法通过api进行验证,我们不知道如何在chrome扩展中创建能够验证的令牌。

另一个团队的另一个项目能够使用类似以下内容从网络生成令牌:

{"web":{"client_id":"CLIENT_ID.apps.googleusercontent.com","project_id":"PROJECT_NAME","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://accounts.google.com/o/oauth2/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"SOME_SECRET","javascript_origins":["SOME_URL"]}}

我们试图使用从与API相同的项目中生成的CLIENT_ID,但是它不起作用。

我们还可以注意到,另一个团队从网络生成的有效令牌要更长一些。

我们如何获得令牌:

chrome.identity.getAuthToken({ interactive: true }, (token) => {
        if (chrome.runtime.lastError) {
            return
        }
    return token
})

我们在清单中的权限:

    "permissions": [
        "identity",
        "identity.email",
        "notifications",
        "https://*/*",
        "http://*/*"
    ]

我们想知道是否有可能在chorme扩展中生成与客户端库一起使用的令牌。

如果不可能,我们想知道是否有可能从为此目的开发的可能的API中生成工作令牌。

非常感谢您。

0 个答案:

没有答案