Refactor authentication token for new study-group-based authorization

This commit is contained in:
Sebastian Serth
2022-09-20 16:24:42 +02:00
committed by Sebastian Serth
parent cb1b163b30
commit 936c11e31f
7 changed files with 30 additions and 12 deletions

View File

@@ -48,7 +48,15 @@ class ApplicationController < ActionController::Base
if token.expire_at.future?
token.update(expire_at: Time.zone.now)
auto_login(token.user)
session[:study_group_id] = token.study_group_id
# Sorcery Login only works for InternalUsers
return auto_login(token.user) if token.user.is_a? InternalUser
# All external users are logged in "manually"
session[:external_user_id] = token.user.id
session.delete(:lti_parameters_id)
token.user
end
end

View File

@@ -55,9 +55,10 @@ class SubscriptionsController < ApplicationController
def subscription_params
current_user_id = current_user.try(:id)
current_user_class_name = current_user.try(:class).try(:name)
study_group_id = current_user.try(:current_study_group_id)
if params[:subscription].present?
params[:subscription].permit(:request_for_comment_id, :subscription_type).merge(user_id: current_user_id,
user_type: current_user_class_name, deleted: false)
user_type: current_user_class_name, study_group_id: study_group_id, deleted: false)
end
end
private :subscription_params