Skip to content

Commit

Permalink
Added alternative facebook login method
Browse files Browse the repository at this point in the history
  • Loading branch information
jnabor committed Feb 1, 2020
1 parent 5e9cfe6 commit bbbb5e6
Show file tree
Hide file tree
Showing 10 changed files with 374 additions and 202 deletions.
113 changes: 67 additions & 46 deletions amplify/backend/auth/ra2serverless240b4340/parameters.json
Original file line number Diff line number Diff line change
@@ -1,47 +1,68 @@
{
"identityPoolName": "ra2serverless240b4340_identitypool_34543397",
"allowUnauthenticatedIdentities": false,
"resourceNameTruncated": "ra2ser240b4340",
"userPoolName": "ra2serverless240b4340_userpool_240b4340",
"autoVerifiedAttributes": ["email"],
"mfaConfiguration": "OFF",
"mfaTypes": ["SMS Text Message"],
"smsAuthenticationMessage": "Your authentication code is {####}",
"smsVerificationMessage": "Your verification code is {####}",
"emailVerificationSubject": "Your verification code",
"emailVerificationMessage": "Your verification code is {####}",
"defaultPasswordPolicy": false,
"passwordPolicyMinLength": 8,
"passwordPolicyCharacters": [],
"requiredAttributes": ["email"],
"userpoolClientGenerateSecret": true,
"userpoolClientRefreshTokenValidity": 30,
"userpoolClientWriteAttributes": ["email"],
"userpoolClientReadAttributes": ["email"],
"userpoolClientLambdaRole": "ra2ser240b4340_userpoolclient_lambda_role",
"userpoolClientSetAttributes": false,
"resourceName": "ra2serverless240b4340",
"authSelections": "identityPoolAndUserPool",
"authRoleArn": {
"Fn::GetAtt": ["AuthRole", "Arn"]
},
"unauthRoleArn": {
"Fn::GetAtt": ["UnauthRole", "Arn"]
},
"useDefault": "defaultSocial",
"hostedUI": true,
"usernameAttributes": ["email"],
"triggers": "{}",
"hostedUIDomainName": "ra2-serverless",
"authProvidersUserPool": ["Facebook", "Google"],
"hostedUIProviderMeta": "[{\"ProviderName\":\"Facebook\",\"authorize_scopes\":\"email,public_profile\",\"AttributeMapping\":{\"email\":\"email\",\"username\":\"id\"}},{\"ProviderName\":\"Google\",\"authorize_scopes\":\"openid email profile\",\"AttributeMapping\":{\"email\":\"email\",\"username\":\"sub\"}}]",
"userPoolGroupList": [],
"parentStack": {
"Ref": "AWS::StackId"
},
"permissions": [],
"dependsOn": [],
"userPoolGroups": false,
"adminQueries": false,
"oAuthMetadata": "{\"AllowedOAuthFlows\":[\"code\",\"implicit\"],\"AllowedOAuthScopes\":[\"phone\",\"email\",\"openid\",\"profile\",\"aws.cognito.signin.user.admin\"],\"CallbackURLs\":[\"https://ra2-dev.sonabstudios.com/\"],\"LogoutURLs\":[\"https://ra2-dev.sonabstudios.com/\"]}"
}
"identityPoolName": "ra2serverless240b4340_identitypool_34543397",
"allowUnauthenticatedIdentities": false,
"resourceNameTruncated": "ra2ser240b4340",
"userPoolName": "ra2serverless240b4340_userpool_240b4340",
"autoVerifiedAttributes": [
"email"
],
"mfaConfiguration": "OFF",
"mfaTypes": [
"SMS Text Message"
],
"smsAuthenticationMessage": "Your authentication code is {####}",
"smsVerificationMessage": "Your verification code is {####}",
"emailVerificationSubject": "Your verification code",
"emailVerificationMessage": "Your verification code is {####}",
"defaultPasswordPolicy": false,
"passwordPolicyMinLength": 8,
"passwordPolicyCharacters": [],
"requiredAttributes": [
"email"
],
"userpoolClientGenerateSecret": true,
"userpoolClientRefreshTokenValidity": 30,
"userpoolClientWriteAttributes": [
"email"
],
"userpoolClientReadAttributes": [
"email"
],
"userpoolClientLambdaRole": "ra2ser240b4340_userpoolclient_lambda_role",
"userpoolClientSetAttributes": false,
"resourceName": "ra2serverless240b4340",
"authSelections": "identityPoolAndUserPool",
"authRoleArn": {
"Fn::GetAtt": [
"AuthRole",
"Arn"
]
},
"unauthRoleArn": {
"Fn::GetAtt": [
"UnauthRole",
"Arn"
]
},
"useDefault": "defaultSocial",
"hostedUI": true,
"usernameAttributes": [
"email"
],
"triggers": "{}",
"hostedUIDomainName": "ra2-serverless",
"authProvidersUserPool": [
"Facebook",
"Google"
],
"hostedUIProviderMeta": "[{\"ProviderName\":\"Facebook\",\"authorize_scopes\":\"email,public_profile\",\"AttributeMapping\":{\"email\":\"email\",\"username\":\"id\"}},{\"ProviderName\":\"Google\",\"authorize_scopes\":\"openid email profile\",\"AttributeMapping\":{\"email\":\"email\",\"username\":\"sub\"}}]",
"userPoolGroupList": [],
"parentStack": {
"Ref": "AWS::StackId"
},
"permissions": [],
"dependsOn": [],
"userPoolGroups": false,
"adminQueries": false,
"oAuthMetadata": "{\"AllowedOAuthFlows\":[\"code\",\"implicit\"],\"AllowedOAuthScopes\":[\"phone\",\"email\",\"openid\",\"profile\",\"aws.cognito.signin.user.admin\"],\"CallbackURLs\":[\"https://ra2-dev.sonabstudios.com/\"],\"LogoutURLs\":[\"https://ra2-dev.sonabstudios.com/\"]}"
}
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"@types/react-dom": "^16.9.4",
"@types/react-router-dom": "^5.1.3",
"@types/recharts": "^1.8.3",
"aws-amplify": "^2.2.0",
"aws-amplify": "^2.2.2",
"clsx": "^1.0.4",
"cypress": "^3.8.0",
"enzyme": "^3.10.0",
Expand All @@ -32,7 +32,7 @@
"react-test-renderer": "^16.12.0",
"rechart": "0.0.1",
"recharts": "^2.0.0-beta.1",
"typescript": "^3.7.3"
"typescript": "^3.7.5"
},
"scripts": {
"start": "react-scripts start",
Expand Down
8 changes: 4 additions & 4 deletions src/app/Home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import {
} from '@material-ui/core'

import logo from '../static/ra2.png'
import HostedUiSignIn from '../auth/components/HostedUiSignIn'
import EmailSignIn from '../auth/components/EmailSignIn'
import GoogleSignIn from '../auth/components/GoogleSignIn'
import FacebookSignIn from '../auth/components/FacebookSignIn'
import HostedUiSignIn from '../auth/HostedUiSignIn'
import EmailSignIn from '../auth/EmailSignIn'
import GoogleSignIn from '../auth/GoogleSignIn'
import FacebookSignIn from '../auth/FacebookSignIn'
import FacebookSignIn2 from '../auth/FacebookSignIn2'
import Button from '@material-ui/core/Button'
import { AuthContext } from '../auth/auth-context'
Expand Down
34 changes: 34 additions & 0 deletions src/auth/EmailSignIn.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import React from 'react'
import { useHistory } from 'react-router-dom'

import EmailIcon from '@material-ui/icons/Email'
import Button from '@material-ui/core/Button'
import { useStyles } from './components/styles'

export interface HostedUiSignInProps {}

const HostedUiSignIn: React.SFC<HostedUiSignInProps> = () => {
const history = useHistory()
const classes = useStyles()

return (
<Button
fullWidth
variant='contained'
onClick={() => history.push('/auth')}
size='large'
className={classes.google}>
<div className={classes.container}>
<div className={classes.spacer} />
<div className={classes.fsignLabel}>
<div className={classes.logo}>
<EmailIcon />
</div>
Sign in with Email
</div>
</div>
</Button>
)
}

export default HostedUiSignIn
41 changes: 41 additions & 0 deletions src/auth/FacebookSignIn.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import React, { useContext } from 'react'

import { AuthContext } from './auth-context'
import Button from '@material-ui/core/Button'
import { useStyles } from './components/styles'
import facebookLogo from '../static/facebook.png'

export interface FacebookSignInProps {}

const FacebookSignIn: React.SFC<FacebookSignInProps> = () => {
const authContext = useContext(AuthContext)

const signInHandler = () => {
authContext.federatedSignIn('facebook')
}

const classes = useStyles()

return (
<Button
fullWidth
variant='contained'
onClick={() => {
signInHandler()
}}
size='large'
className={classes.google}>
<div className={classes.container}>
<div className={classes.spacer} />
<div className={classes.fsignLabel}>
<div className={classes.logo}>
<img style={{ height: '22px' }} src={facebookLogo} />
</div>
Sign in with Facebook
</div>
</div>
</Button>
)
}

export default FacebookSignIn
Loading

0 comments on commit bbbb5e6

Please sign in to comment.