Skip to content

Instantly share code, notes, and snippets.

@lougreenwood
Last active May 15, 2019 16:34
Show Gist options
  • Save lougreenwood/69bc40b4eb6a4460d9903635df02d522 to your computer and use it in GitHub Desktop.
Save lougreenwood/69bc40b4eb6a4460d9903635df02d522 to your computer and use it in GitHub Desktop.
ESA restore
import Promise from 'rsvp'
import BaseAuthenticator from 'ember-simple-auth/authenticators/base'
export default BaseAuthenticator.extend({
authenticate() {
alert('authenticated')
return Promise.resolve({token: "123abc"})
},
restore(data) {
alert('did restore')
debugger
try{
if(data.token) {
return Promise.resolve(data)
}
return Promise.reject()
} catch(error) {
debugger
}
},
})
import Ember from 'ember';
import { inject as service } from '@ember/service'
export default Ember.Controller.extend({
session: service(),
appName: 'Ember Twiddle'
});
import EphemeralStore from 'ember-simple-auth/session-stores/ephemeral';
export default EphemeralStore.extend({
});
<p>Logged in: <strong>{{this.session.isAuthenticated}}</strong></p>
{{#if this.session.isAuthenticated}}
<button {{action this.session.invalidate}}>Log out</button>
{{else}}
<button {{action this.session.authenticate "authenticator:application"}}>Log in</button>
{{/if}}
<p>Token: {{this.session.data.authenticated.token}}</p>
{
"version": "0.15.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.10.0",
"ember-template-compiler": "3.2.2",
"ember-testing": "3.2.2"
},
"addons": {
"ember-data": "3.10.0",
"ember-simple-auth": "1.8.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment