diff --git a/lti/adapters.py b/lti/adapters.py index 1805e19b..b1ab8458 100644 --- a/lti/adapters.py +++ b/lti/adapters.py @@ -23,7 +23,7 @@ class DjangoOIDCLogin: """Get the redirect object for OIDC login""" from pylti1p3.oidc_login import OIDCLogin - oidc_login = OIDCLogin(self.request, self.tool_config, launch_data_storage=self.launch_data_storage) + oidc_login = OIDCLogin(self.request, self.tool_config, session_service=self.launch_data_storage, cookie_service=self.launch_data_storage) return oidc_login.enable_check_cookies().redirect(redirect_url) @@ -40,7 +40,7 @@ class DjangoMessageLaunch: """Validate the LTI launch message""" from pylti1p3.message_launch import MessageLaunch - message_launch = MessageLaunch(self.request, self.tool_config, launch_data_storage=self.launch_data_storage) + message_launch = MessageLaunch(self.request, self.tool_config, session_service=self.launch_data_storage, cookie_service=self.launch_data_storage) return message_launch diff --git a/lti/views.py b/lti/views.py index 11f6564e..28735f3d 100644 --- a/lti/views.py +++ b/lti/views.py @@ -85,9 +85,10 @@ class OIDCLoginView(View): # Create tool config for this platform tool_config = DjangoToolConfig.from_platform(platform) - # Create OIDC login handler - launch_data_storage = DjangoSessionService(request) - oidc_login = OIDCLogin(request, tool_config, launch_data_storage=launch_data_storage) + # Create OIDC login handler with session and cookie services + session_service = DjangoSessionService(request) + cookie_service = DjangoSessionService(request) # Using same service for cookies + oidc_login = OIDCLogin(request, tool_config, session_service=session_service, cookie_service=cookie_service) # Redirect to platform's authorization endpoint redirect_obj = oidc_login.enable_check_cookies().redirect(target_link_uri) @@ -138,8 +139,9 @@ class LaunchView(View): tool_config = DjangoToolConfig.from_platform(platform) # Validate JWT and get launch data - launch_data_storage = DjangoSessionService(request) - message_launch = MessageLaunch(request, tool_config, launch_data_storage=launch_data_storage) + session_service = DjangoSessionService(request) + cookie_service = DjangoSessionService(request) + message_launch = MessageLaunch(request, tool_config, session_service=session_service, cookie_service=cookie_service) # Get validated launch data launch_data = message_launch.get_launch_data()