createSession method
Creates a new session via the service and stores it in memory.
pin Optional PIN for session creation when PIN verification is required.
Implementation
Future<AuthUserSession> createSession(
String userId, {
String? mid,
String? businessId,
String? pin,
}) {
return monitoringService.monitorAction<AuthUserSession>(
actionName: 'create_session',
provider: _providerName,
attributes: {'userId': userId},
action: (trace) async {
_ensureInitialized();
var request = CreateSessionRequest(
userId: userId,
mid: mid,
businessId: businessId,
pin: pin,
);
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;
},
);
}