Giter VIP home page Giter VIP logo

ember-cli-heyook-auth's Introduction

Ember-cli-heyook-auth

Auth specific to heyook projects.

Set environment

var ENV = {
  //...

  "simple-auth": {
    authorizer: 'authorizer:devise',
    crossOriginWhitelist: ['*'],
    store: 'simple-auth-session-store:cookie'
  },

  "simple-auth-devise": {
    tokenAttributeName: "auth_token",
    identificationAttributeName: "email"
  },

  "simple-auth-session-store": {
    cookieName: "lidamo_auth_session"
  },

  HeyookAuth: {
    resourceName: "user",
    currentResourceName: 'currentUser'
  }

  //...
};

if (environment === 'test') {
  //...
  ENV['simple-auth-devise'].serverTokenEndpoint = "api/users/sign_in";
  ENV['simple-auth'].store = 'simple-auth-session-store:ephemeral';
}

create resource

import DS from 'ember-data';

export default DS.Model.extend({
  email: DS.attr('string'),
  auth_token: DS.attr('string')
});

create login route

import Ember from 'ember';
import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin';
import LoginRouteMixin from 'ember-cli-heyook-auth/mixins/login-route-mixin';

export default Ember.Route.extend(ApplicationRouteMixin, LoginRouteMixin);

in route, you can do

beforeModel: ->
    if @get('session.isAuthenticated')
      @transitionTo "dashboard"

or

actions:
    logout: ->
      @get('session').invalidate()

create login template

{{login-form
  model=model
  onSubmit='submit'
  onRemember='updateRememberMe'}}

access current user in controller

import Ember from 'ember';

ApplicationController = Ember.Controller.extend({
  currentAdmin:    Em.computed.alias "session.currentAdmin"
});
export default ApplicationController;

create simple auth authenticated route

import Ember from 'ember';
import AuthenticatedRouteMixin from 'simple-auth/mixins/authenticated-route-mixin';

export default Ember.Route.extend(AuthenticatedRouteMixin);

ember-cli-heyook-auth's People

Contributors

he9qi avatar tiffanyli avatar ember-tomster avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.