javascript - OAuth 2.0 和 Phonegap 的 InAppBrowser 进行身份验证

标签 javascript cordova oauth inappbrowser

我正在尝试使用 Oauth 2.0 对登录 Google 帐户的用户进行身份验证。为此,我需要访问他们的姓名和电子邮件地址。我正在使用phonegap 的InAppBrowser 来执行此操作。

到目前为止我有这个:

function openPage() {  

    var login_url = "https://accounts.google.com/o/oauth2/auth" + '?' + $.param({ client_id: "(not shown)", redirect_uri: "http://www.google.com", response_type: "token", scope: "openid profile email" });

    var loginWindow = window.open(login_url, '_blank', 'location=yes');

    loginWindow.addEventListener('loadstop', function(e) { 
        var url = e.url;
        var access_token = url.split("access_token=")[1];
        validateToken(access_token);
    });

        function validateToken(token) {

        $.ajax({
            url: 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=' + token,
            data: null,
            success: function(responseText){  
                alert("Validation Success!");
                getUserInfo(token);
            },  
            dataType: "jsonp"  
        });
    }

    function getUserInfo(token) {
        $.ajax({
            url: 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' + token,
            data: null,
            success: function(resp) {
                user    =   resp;
                alert(JSON.stringify(user));
            },
            dataType: "jsonp"
        });
    }

    }

token 的验证每次都会有效,但是一旦调用 getUserInfo(),返回的 JSON 就会充满错误和无效的凭据字符串。我究竟做错了什么?谢谢!

最佳答案

我想您需要根据找到的 Userinfo 端点的文档在 Authorization header 中设置 token here

关于javascript - OAuth 2.0 和 Phonegap 的 InAppBrowser 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27162333/

相关文章:

ios - 渐变在 iOS 移动 safari 上给出了错误的颜色

android - 如何从 Phonegap 打开 Google Play 商店

java - Google 使用 Post 方法端点 OAuth

javascript - 水平和垂直对齐伪元素的内容

javascript - 解析.com : Signup user to role

android - 手机间隙 : file transfer fail on Android

java - 使用 OAUTH 2.0 从 Facebook cookie 验证和获取数据

多个 OAuth 2.0 的 Javascript 库

javascript - 在 Javascript 中读取 session var

javascript - jQuery PHP Ajax 检查用户登录显示模式