createSession method
Creates a new session via the service and stores it in memory.
Implementation
Future<AuthUserSession> createSession(String userId, {String? mid}) {
return monitoringService.monitorAction<AuthUserSession>(
actionName: 'create_session',
provider: _providerName,
attributes: {'userId': userId},
action: (trace) async {
_ensureInitialized();
var request = CreateSessionRequest(userId: userId, mid: mid);
var responseSession = await sessionService.createSession(request);
var session = AuthUserSession.mapFromDto(dto: responseSession);
await validateSession(session);
await _localSessionRepository.saveSession(session);
await _localSessionRepository.setActiveSession(session);
return session;
},
);
}