Ich verwende den Rails_api Edelstein in meinem Projekt. Ich möchte die Sitzungsverwaltung für die Authentifizierung hinzufügen, aber es scheint, dass die Sitzung nicht funktioniert. Hier ist meine Konfiguration in config/initializer/session_store.rb
:Sitzung in Rails_API Edelstein
Pmcapi::Application.config.session_store :cookie_store, {
key: '_pmcapi_session',
expire_after: 1.hour
}
Ich habe config.api_only = false
in application.rb
(Adding cookie session store back to Rails API app)
und in meinem session_controller
, fügte ich Sitzung der Token
# session_controller.rb
def create
#just to generate new token
user.reset_sso_token!
session[:token] ||= user.sso_token
self.current_user = user
redirect_to root_path
end
Wenn in application_controller
zu speichern, ich möchte auf session[:token]
zugreifen, aber das Ergebnis ist nil
:
# application_controller.rb
def authenticate_user!
#puts("User Authentication")
#puts(request.authorization)
#puts(request)
@user = User.authenticate_with_token(session[:token])
#head :unauthorized unless @user.present?
redirect_to sign_in_path if @user.nil?
end
Ich bin mit dem gleichen Problem. Upvoted für erhöhte Exposition. – sjmog
Haben Sie das Problem gelöst? https://github.com/rails-api/rails-api/pull/97 – enricostn
Auch diese als Referenz: https://github.com/rails-api/rails-api/issues/73 – jottr