Using AWS Amplify Auth & Core library to authenticate with your AWS Cognito User Pool.
ALPHA ADD-ON: I have just started playing with Cognito and AWS Amplify.
Auth
's features
through the session
service.CognitoUser
's attributes
, idToken Payload
, & accessToken Payload
in the session.data.authenticated
property storage Add issues if there are features you're looking for.
Auth
& CognitoUser
ember-simple-auth
ecosystemember-concurrency
ember install ember-simple-auth-aws-amplify
When working through the Ember upgrade process, I recommend
invoking the ember install ember-simple-auth-aws-amplify
command once
you are done to get the latest version of the add-on.
If you've already got the package installed and just want to run the
add-on blueprint: ember g ember-simple-auth-aws-amplify
.
@aws-amplify/auth
- Authentication library from AWS Amplify; interacts with AWS Cognito User Pool @aws-amplify/core
- Introduced to take advantage of AWS Amplify's event Hubember-auto-import
- Pleasantly import auth
and core
ember-concurrency
- Timed task for refreshing tokenember-simple-auth
- The EmberJs foundation auth add-on Configure your AWS Congnito region
, userPoolId
, & userPoolWebClientId
in your config/environment.js
under the APP.ember-simple-auth-aws-amplify
object path.
// config/environment.js
module.exports = function (environment) {
let ENV = {
// ...
APP: {
'ember-simple-auth-aws-amplify': {
awsAmplifyAuth: {
// @see https://aws-amplify.github.io/docs/js/authentication#manual-setup
config: {
// Amazon Cognito Region
region: 'xx-yyyyyy-#',
// Amazon Cognito User Pool ID
userPoolId: 'xx-yyyyyy-#_zzzzzzzzz',
// Amazon Cognito Web Client ID (26-char alphanumeric string)
userPoolWebClientId: 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
}
},
// `mixins/adapters/token-headers.js` uses this field to attach your ACCESS token to your Ember-Data requests
headerAuthorization: 'Authorization',
// `mixins/adapters/token-headers.js` uses this field to attach your ID token to your Ember-Data requests
headerIdentification: 'Identification',
// `utils/mfa-activation-state.js` takes this in it's constructor and uses it when naming your app
// inside the MFA Authenticator App
totpIssuerName: 'Ember-Simple-Auth-Issuer-Example'
}
// ...
}
// ...
};
// ...
return ENV;
};
[I'll add some more here before official release]
See the Contributing guide for details.
This project is licensed under the MIT License.