1

Je crée une application mobile avec React Native. Avec l'aide de cette bibliothèque, https://github.com/AirLabsTeam/react-native-aws-cognito-js, je suis en mesure de m'inscrire et de me connecter à un utilisateur via l'application et Cognito renvoie un jeton d'accès à l'application.Vérification/validation d'un jeton d'accès AWS Cognito à partir de Rails

Maintenant, l'application fera des appels api à un backend Rails avec ce jeton. (pour chaque appel api.)

1) Comment le côté Rails peut-il vérifier si le jeton est bon ou non?

2) Comment puis-je obtenir l'email de l'utilisateur?

3) Existe-t-il un point de terminaison API à partir d'AWS?

4) Existe-t-il un exemple similaire à celui-ci?

Merci

Répondre

0

je aurais pu trouver une façon de le faire.

1) Ajouter ceci à votre Gemfile:

gem 'aws-sdk', '~> 2' 

2) Ajouter ces 3 variables d'environnement:

export AWS_REGION=us-west-2 
export AWS_ACCESS_KEY_ID="Your AWS Access Key ID" 
export AWS_SECRET_ACCESS_KEY= "Your AWS Secret Access Key" 

3) Créer un nouveau fichier. Je mets ce qui suit dans app/modules/Aws.rb

require 'aws-sdk' 

cognitoidentityprovider = Aws::CognitoIdentityProvider::Client.new(region: ENV['AWS_REGION']) 

begin 
    cognito_user = cognitoidentityprovider.get_user({ 
    access_token: "Token coming from the APP" 
    }) 

    email_verified = cognito_user.user_attributes 
           .detect{ |attribute_type| attribute_type["name"] === "email_verified" && attribute_type["value"] === "true" } 

    if email_verified.nil? 
    raise "Email is not verified" 
    else 
    puts "EMAIL IS GOOD!" 
    puts cognito_user.username 
    end 

rescue StandardError => msg 
    puts "ERROR!" 
    puts msg 
end 

Je suis en mesure de retourner l'e-mail de l'utilisateur lors du test dans RIR.

Je ne sais pas si c'est la bonne façon (ou le moyen AWS) pour obtenir l'email de l'utilisateur .... J'apprécierais un commentaire ou un commentaire ...