Ember-simple-auth does not persist refresh's


#1

I am so frustrated , i can’t figure it out why ember-simple-auth does not persist when the page refresh’s… I’m returning the access_token and i follow the docs to implement oauth2…

That’s my code:

authenticators/oauth2.js:

import OAuth2PasswordGrant from 'ember-simple-auth/authenticators/oauth2-password-grant';

export default OAuth2PasswordGrant.extend({
  serverTokenEndpoint: 'http://localhost:3000/users/compare'
});

authorizers/oauth2.js:

import OAuth2Bearer from 'ember-simple-auth/authorizers/oauth2-bearer';

export default OAuth2Bearer.extend();

adapters/application.js:

import DS from 'ember-data';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';

const {
  JSONAPIAdapter
} = DS;

export default JSONAPIAdapter.extend(DataAdapterMixin, {
  authorizer: 'authorizer:oauth2',
  host: 'http://localhost:3000'
});

I’m returning the access_token and username. I’m able to see authenticated routes, but if i refresh the page, the session will be lost.

In my authenticated object i have:

access_token: "token"
username: "myUserName"

And in my secure object i have:

authenticator: "simple-auth-authenticator:jwt"
access_token "token"
username: "myUserName"

I can’t figure it out why this authenticator… I was using it but i already delete everything related.

In my localStorage i have:

{"secure":{"authenticator":"simple-auth-authenticator:jwt","token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im1hcmNlbG9AcHViY3Jhd2xzcC5jb20iLCJpYXQiOjE0NDk1OTY5NDV9.fP11KL2as2mI7ocFojS-H3jUW60XgWCUskTNi4iy1XY","name":"Fatima Alves"},"authenticated":{"authenticator":"authenticator:oauth2","access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im1hcmNlbG9AcHViY3Jhd2xzcC5jb20iLCJpYXQiOjE0NTAzMDU3MDN9.GKb5A15BBXxgcO9SDrGnxv0CQvkhXQCqvrK65MQ2ROc","name":"Fatima Alves"}}

UPDATE :

Now my session is working i think, but i can’t access any page that make any request, because i see in the console:

XMLHttpRequest cannot load http://localhost:3000/events. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.

Please, can someone give me a hand? I’m stuck at least for 5 hours and i can’t figure it out what is the problem…


#2

It looks like you are probably using a Rails backend. You might need to add the rack-cors gem to your gemfile and configure it to allow cross-domain requests.

I’m not sure why this would be happening if your ember app and rails app are both on localhost but Chrome is really aggressive about blocking preflight requests that it thinks might be across domains.