Je construis une compétence Alexa qui mettra en œuvre la liaison de compte. Lorsqu'un utilisateur utilise mes compétences, ils devraient utiliser l'application Alexa pour vous connecter.
L'assurance-chômage d'authentification est configurée et gérée par Amazon Cognito afin que je n'ai pas besoin d'accueillir ma propre connexion et mon intermédiaire de l'interface utilisateur de mon application Alexa.
Mon pool d'utilisateurs à Cognito a deux attributs standard et un attribut personnalisé.
Le formulaire d'inscription (hébergé par Cognito) inclut des champs de texte pour les attributs standard, mais pas pour les attributs personnalisés. Je veux des champs de texte pour tous les attributs (standard et personnalisé). Je n'ai pas trouvé de documentation qui montre comment permettre cela. Comment fait-on ça?
J'étais également intéressé, mais je pense qu'il n'est pas possible d'utiliser la page Web de connexion hébergé par Amazon Cognito. J'ai trouvé ces informations sur Amazon Cognito Guide : https://docs.aws.amazon.com/en_us/cognito/latest/developerguide/cognito-user-pools-app-Integration.html ==
À la fin de ce document, j'ai trouvé:
Remarque
La page Web AMAZON COGNITO HIGHED SIGNIFE SUITE ne prend pas en charge le flux d'authentification personnalisé.
Si je ne me trompe pas, vous devez ajouter custom:<YOUR_ATTRIBUTE_NAME>
var poolData = {
UserPoolId : <POOL_ID>,
ClientId : <CLIENT_ID>,
};
var userPool = new AWSCognito.CognitoUserPool(poolData);
var attributeList = [];
var dataEmail = {
Name : 'email',
Value : '[email protected]'
};
var dataPhoneNumber = {
Name : 'phone_number',
Value : '+15555555555'
};
var grandMaName = {
Name : 'custom:grandMaName',
Value : 'granny'
};
var attributeEmail = new AWSCognito.CognitoUserAttribute(dataEmail);
var attributePhoneNumber = new AWSCognito.CognitoUserAttribute(dataPhoneNumber);
var attributeGrandMaName = new AWSCognito.CognitoUserAttribute(grandMaName);
attributeList.Push(attributeEmail);
attributeList.Push(attributePhoneNumber);
attributeList.Push(grandMaName);
userPool.signUp(userData.Username, userData.Password, attributeList, null, function(err, result){
if (err) {
console.log(err);
return;
}
cognitoUser = result.user;
console.log('user name is ' + cognitoUser.getUsername());
console.log('Now go to Cognito console and confirm the user.')
});