第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將外部身份提供者與服務(wù)器端身份驗(yàn)證結(jié)合使用

將外部身份提供者與服務(wù)器端身份驗(yàn)證結(jié)合使用

Go
開心每一天1111 2023-04-17 16:02:14
我正在使用適用于 Go 的 AWS 開發(fā)工具包來使用 Cognito 進(jìn)行服務(wù)器端身份驗(yàn)證。我已經(jīng)完成注冊(cè)和登錄并使用用戶名和密碼工作。我根據(jù)文檔以及重定向 URL 和文檔要求的所有其他內(nèi)容配置了所有三個(gè)外部身份提供者。我知道如何獲取 Cognito 將為您構(gòu)建的內(nèi)置注冊(cè)/登錄頁面的 URL,并且這些頁面具有 Google/Facebook/Amazon 登錄按鈕,但我需要能夠?qū)⑦@些按鈕放在前端我的網(wǎng)站。我不知道該怎么做。編輯:請(qǐng)參閱@Stu 帖子的評(píng)論,了解為什么將 JS SDK 答案標(biāo)記為正確答案的詳細(xì)推理。這可能會(huì)發(fā)生變化,但暫時(shí)不會(huì)。(tldr;aws go sdk 和 cognito 還不支持這個(gè))
查看完整描述

3 回答

?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

讓我們以 Facebook 為例。當(dāng)您使用 Cognito UI 時(shí),F(xiàn)acebook 會(huì)為您的用戶將 OAuth 令牌直接交給 Cognito。Cognito 會(huì)做一些事情,比如檢查用戶是否已經(jīng)存在,并在需要時(shí)創(chuàng)建一個(gè)新用戶,然后向您的應(yīng)用程序發(fā)送一個(gè) AWS OAuth 令牌。

現(xiàn)在,如果您想要在自己的網(wǎng)站上使用 Facebook 按鈕,則身份驗(yàn)證會(huì)以不同的方式進(jìn)行。您必須自己與 Facebook 協(xié)商,為用戶取回 OAuth 令牌,然后將訪問令牌交給 Cognito。Cognito 會(huì)做它的事情并給你一個(gè) AWS OAuth 令牌。


查看完整回答
反對(duì) 回復(fù) 2023-04-17
?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊

您的應(yīng)用程序要求已經(jīng)超過了使用千篇一律的 Cognito 登錄流程的程度。

FB.login(function (response) {


? // Check if the user logged in successfully.

? if (response.authResponse) {


? ? console.log('You are now logged in.');


? ? // Add the Facebook access token to the Cognito credentials login map.

? ? AWS.config.credentials = new AWS.CognitoIdentityCredentials({

? ? ? IdentityPoolId: 'IDENTITY_POOL_ID',

? ? ? Logins: {

? ? ? ? 'graph.facebook.com': response.authResponse.accessToken

? ? ? }

? ? });


? ? // Obtain AWS credentials

? ? AWS.config.credentials.get(function(){

? ? ? ? // Access AWS resources here.

? ? });


? } else {

? ? console.log('There was a problem logging you in.');

? }


});

然后像這樣獲取用戶:


? ? var data = { UserPoolId : 'us-east-1_Iqc12345',

? ? ? ? ClientId : '12345du353sm7khjj1q'

? ? };

? ? var userPool = new AmazonCognitoIdentity.CognitoUserPool(data);

? ? var cognitoUser = userPool.getCurrentUser();


? ? if (cognitoUser != null) {

? ? ? ? cognitoUser.getSession(function(err, session) {

? ? ? ? ? ? if (err) {

? ? ? ? ? ? ? ? alert(err);

? ? ? ? ? ? ? ? return;

? ? ? ? ? ? }

? ? ? ? ? ? console.log('session validity: ' + session.isValid());

? ? ? ? });

? ? }

在這里您可以看到一個(gè)名為 AdminInitiateAuth 的函數(shù)。還有將用戶附加到身份提供者的功能。因此,雖然使用 JS SDK 可能是最簡單的,但在我看來,這是將 Web 應(yīng)用程序與 Cognito 集成的解決方案。您可以清楚地處理所有身份驗(yàn)證流程、令牌管理、創(chuàng)建 api 以登錄、注銷等。服務(wù)器端使用 GO SDK


查看完整回答
反對(duì) 回復(fù) 2023-04-17
?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

現(xiàn)在可以使用identity_providerprop in oauth2/authorizerequest


在我的代碼中看起來像


const query = stringify({

    response_type: 'code',

    redirect_uri: tokenRedirectUri,

    state: stateEncoded,

    client_id: clientId,

    identity_provider: platform,

})



return `https://auth.${domainName}/oauth2/authorize?${query}`

//其他 OIDC 提供商等platform在哪里GoogleFacebook


那只是url,你需要自己制作按鈕,但它會(huì)直接重定向到提供者同意


查看完整回答
反對(duì) 回復(fù) 2023-04-17
  • 3 回答
  • 0 關(guān)注
  • 209 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)