Google chrome extension 从chrome扩展中的登录页面按钮重定向到Google Gmail登录屏幕

Google chrome extension 从chrome扩展中的登录页面按钮重定向到Google Gmail登录屏幕,google-chrome-extension,oauth-2.0,google-oauth,browser-extension,Google Chrome Extension,Oauth 2.0,Google Oauth,Browser Extension,我已经开始学习chrome扩展,并创建了一个欢迎页面。我添加了一个简单的登录屏幕,其中包含用户名和密码,并在我的web api中接收值。现在我正在尝试使用Gmail api,它会将用户重定向到Gmail登录屏幕,让他们通过它登录 我无法决定如何使用相同的。在发布这篇文章之前,我已经搜索了这个网站,并对答案感到困惑。他们中的一些人正在谈论火基,还有一些人正在谈论oauth 以下是我的manifest.json示例: { "manifest_version": 2, "name": "Sample

我已经开始学习chrome扩展,并创建了一个欢迎页面。我添加了一个简单的登录屏幕,其中包含用户名和密码,并在我的web api中接收值。现在我正在尝试使用Gmail api,它会将用户重定向到Gmail登录屏幕,让他们通过它登录

我无法决定如何使用相同的。在发布这篇文章之前,我已经搜索了这个网站,并对答案感到困惑。他们中的一些人正在谈论火基,还有一些人正在谈论oauth

以下是我的manifest.json示例:

{

"manifest_version": 2,
"name": "Sample Web api Extension",        
"version": "1.5.2",       
"permissions": [
"storage",    
"tabs",   
"management",
"identity",
"https://accounts.google.com/*",
"https://www.googleapis.com/*"
],
"oauth2": {   
"client_id": "XXXccsdfdsfDWOQU#O@v.apps.googleusercontent.com",
"scopes": [ "https://www.googleapis.com/auth/userinfo.profile" ]
},

"icons": {
"48": "img/logo.png"
},

"background": {
"page": "background.html",
"persistent": true
},  
"content_security_policy": "script-src 'self' https://apis.google.com; object-src 'self'",
"browser_action": {
"default_icon": "img/off.png"
},

}
具有按钮的登录页:

<div class="buttons">
            <button id="login-btn" class="btn btn-block btn-social btn-google btn-flat" tabindex="3"><i class="fa fa-gmail"></i>Sign in Using Google</button>
            <!--<button id="cancel-btn" class="btn btn-default" tabindex="4">Cancel</button>-->
            <button class="btn-link" id="help-link" tabindex="5">Need help</button>
        </div>

使用谷歌登录
需要帮助吗
那么我可以知道下一步该怎么做吗?对不起,如果我听起来像脚本小子,不能决定下一件事。任何示例代码都会很有帮助

谢谢


所以,我终于想出了下一步该做什么。在这里分享,以备将来有人甚至我需要:)

步骤1)创建Login.js文件并添加以下代码:

 var listenBtnClick = function () {
    console.log("Hello, going to authorize user js");
    authorizeMethod.getAccessToken();
}
步骤2)创建Authorize.js文件及以下代码:

  var REDIRECT_URL = chrome.identity.getRedirectURL("oauth2");

  var CLIENT_ID = "RandomNumber.apps.googleusercontent.com"; // grab this from console.developers.google.com

  var SCOPES = ["openid", "email", "profile"]; //take one or array of properties. 
var joinedScopes = SCOPES.join('');

var AUTH_URL = "https://accounts.google.com/o/oauth2/auth?client_id=" + CLIENT_ID + "&redirect_uri=" + encodeURIComponent(REDIRECT_URL) + "&scope=" + encodeURIComponent(joinedScopes) + "&response_type=token";
步骤3)获取访问令牌,然后使用返回的访问令牌对其进行验证:

var getAccessToken = function () {
    console.log("getAccessToken")
    return authorize().then(validate);
};  
PS:我将继续用更多的步骤更新这个线程