Sma Ma
Sma Ma

Reputation: 3725

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

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?

Upvotes: 8

Views: 5616

Answers (2)

mwarger
mwarger

Reputation: 867

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.

Upvotes: -1

Arka Mukherjee
Arka Mukherjee

Reputation: 2320

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.

Upvotes: 4

Related Questions