skip to Main Content

AWS Cognito provides two services: user pools and identity pools. Both are similar but different concepts, ok so far.

I want to use the feature federation of a user pool.

I do NOT want to use this feature with the hosted UI.

I do NOT want to use this feature with identity pool.

I would like to use the federation login of a user pool of facebook or google of a user pool in a reactive native application. For example only with AWS sdk, for example, auth SDK from amplify.

However, I find no possibility to use the federation login of the user pool over the API (not hosted UI).

A synonym to Auth.signIn but with federation facebook using react native, for example with expo.

With expo i get the facebook tokens via

const { type, token, expires } = await Expo.Facebook.logInWithReadPermissionsAsync(aws_exports.aws_facebook_id, {
  permissions: ['public_profile'],
});

How to use federated Auth using aws-amplify API without hosted UI?

2

Answers


  1. Amplify does not use a User Pool API for signing in via a third-party provider, and the APIs offered for third-party providers are just for Identity Pools. Currently, there’s a feature request with the AWS Amplify SDK team for the same.

    A workaround would be to use the AUTHORIZATION Endpoint directly, and make suited HTTP requests to achieve your requirements.

    Login or Signup to reply.
  2. Here’s a post that shows how to use Google and Facebook to authenticate with the user pools. It’s way too much to repeat here, so check out the link.

    https://dev.to/dabit3/the-complete-guide-to-user-authentication-with-the-amplify-framework-2inh

    Hope this helps.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search