這裏的任何人都實現了通過Google for Auth0進行社交登錄?在與Google驗證後,我會遇到令牌(訪問和ID)問題。Google社交用Auth0令牌爲[Authorized] API調用
這裏是我的代碼:
var waGoogle = new auth0.WebAuth({
domain: 'testApplication.auth0.com',
clientID: '************',
redirectUri: 'http://localhost:8080/'
})
waGoogle.authorize({
connection: 'google-oauth2',
responseType: 'id_token token'
}, function(err, authResult){
if(err){
console.log('Google Login Error')
console.log(err)
}
});
谷歌畫面出現,我登錄,我重定向回我的應用程序。從應用程序中,我解析URL以便我可以獲取訪問和標識令牌。我有
let getParameterByName = (name) => {
var match = RegExp('[#&]' + name + '=([^&]*)').exec(window.location.hash);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
var access_token = getParameterByName('access_token')
var id_token = getParameterByName('id_token')
的問題是,沒有令牌允許我這樣稱呼我的API(asp.net網頁API)都裝修與[授權]屬性。它返回一個:
401(未授權)
我知道我的API是否正常工作,如使用正常
用戶名,密碼,驗證
方法在那裏我也獲得訪問令牌,我的API調用只是通過。
從Google獲取訪問權限和id_token後,我需要執行哪些後續步驟?我是否需要額外撥打Auth0才能獲取正確的訪問令牌以便能夠調用我的Web API?
謝謝。
您是否按照[此處](https://auth0.com/docs/goog-clientid)的說明配置了Google自己的社交連接? –
是的,我做到了。我能夠獲得令牌(訪問和ID),但是我面臨的問題是這些令牌未被授權用於我用[授權]爲asp.net web api所裝飾的API。 – aThink
訪問令牌是否獲得JWT令牌(包含三個部分的長字符串,由點分隔)。如果是這樣,你可以在https://jwt.io中調試它,看看它與使用數據庫連接時發出的不同。 –