Partially support federated login
Two things: 1. I've never attempted to support this before. 2. It seems surprisingly and perhaps deceptively simpler than what I expected. I'm unsure what to do once Google's API authenticates the user. I currently look-up the user's role, trips, etc. using their email address. The role is stored in the Accounts table alongside username, email, password. I will speak with the interviewer tomorrow about this.
This commit is contained in:
parent
d6b91b93cb
commit
b9ed4a2dc1
4 changed files with 59 additions and 17 deletions
|
|
@ -13,19 +13,7 @@
|
|||
<div id="mount"></div>
|
||||
<script>
|
||||
function onSignIn(googleUser) {
|
||||
var profile = googleUser.getBasicProfile();
|
||||
console.log('ID: ' + profile.getId());
|
||||
console.log('Name: ' + profile.getName());
|
||||
console.log('Image URL: ' + profile.getImageUrl());
|
||||
console.log('Email: ' + profile.getEmail());
|
||||
}
|
||||
|
||||
function signOut() {
|
||||
console.log('Signing out!');
|
||||
var auth2 = gapi.auth2.getAuthInstance();
|
||||
auth2.signOut().then(function() {
|
||||
console.log('User signed out.');
|
||||
});
|
||||
console.log(googleUser);
|
||||
}
|
||||
|
||||
var app = Elm.Main.init({node: document.getElementById("mount")});
|
||||
|
|
@ -33,6 +21,18 @@
|
|||
app.ports.printPage.subscribe(function() {
|
||||
window.print();
|
||||
});
|
||||
|
||||
app.ports.googleSignIn.subscribe(function() {
|
||||
var auth2 = gapi.auth2.getAuthInstance();
|
||||
var googleUser = auth2.signIn();
|
||||
});
|
||||
|
||||
app.ports.googleSignOut.subscribe(function() {
|
||||
var auth2 = gapi.auth2.getAuthInstance();
|
||||
auth2.signOut().then(function() {
|
||||
console.log('Google user successfully signed out.');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue