signIn method
Implementation
Future<UserSession> signIn({
required String clientID,
required DioClient microsoftDioClient,
required AuthEndpointsData authEndpointsData,
bool useExternalBrowserOnAndroid = true,
Duration timeout = const Duration(seconds: 15),
Options? getUserDetailsOptions,
}) async {
AuthorizationTokenResponse? response;
// Double check that on login the user data is cleaned out
await SecuredStorage().deleteAuthSessionTokensAndCredentials();
if (!kIsWeb && useExternalBrowserOnAndroid && Platform.isAndroid) {
response = await getTokensFromExternalBrowser(
clientID: clientID,
authEndpointsData: authEndpointsData,
timeout: timeout,
);
}
return await authenticate(
tokenResponse: response,
clientID: clientID,
microsoftDioClient: microsoftDioClient,
authEndpointsData: authEndpointsData,
getUserDetailsOptions: getUserDetailsOptions,
);
}