実現したいこと
Cognitoを用いて, 複数のサブドメイン間でセッション情報を渡したい.
例えば, Googleのように, calendar.google.comとmail.google.com間でセッション情報を取得しているようなことを実現したいです.
現状
以下のようにログインフローを作成しました.
const authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails({ Username: address, Password: password }); const userPool = new AmazonCognitoIdentity.CognitoUserPool({ UserPoolId: userPoolId, ClientId: clientId }); const cognitoUser = new AmazonCognitoIdentity.CognitoUser({ Username: address, Pool: userPool }); cognitoUser.authenticateUser(authenticationDetails, { onSuccess: function(result) { AWS.config.region = [region]; AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: identityPoolId, Logins: { "cognito-idp.ap-northeast-1.amazonaws.com/[userPoolId]": result.getIdToken().getJwtToken() }, LoginId: address }); AWS.config.credentials.refresh((err) => { console.log(err); }); }, onFailure: function(err) { console.log(err); } });
セッション情報の取得は以下のように作成していますが、サブドメインが変わると情報を取得できません.
const userPool = new AmazonCognitoIdentity.CognitoUserPool({ UserPoolId: userPoolId, ClientId: clientId }); if (userPool.getCurrentUser() != null) { userPool.getCurrentUser().getSession(function(err, session) { return (err) ? false : true; }); } else { return false; }
あなたの回答
tips
プレビュー