57 lines
1.1 KiB
Dart
57 lines
1.1 KiB
Dart
import "dart:js_interop";
|
|
|
|
@JS("emeMsal.initialize")
|
|
external JSPromise<JSAny?> _initialize(
|
|
JSString tenantId,
|
|
JSString clientId,
|
|
JSString scope,
|
|
JSString redirectUri,
|
|
);
|
|
|
|
@JS("emeMsal.signIn")
|
|
external JSPromise<JSAny?> _signIn();
|
|
|
|
@JS("emeMsal.getAccessToken")
|
|
external JSPromise<JSString> _getAccessToken();
|
|
|
|
@JS("emeMsal.hasAccount")
|
|
external JSBoolean _hasAccount();
|
|
|
|
@JS("emeMsal.signOut")
|
|
external JSPromise<JSAny?> _signOut();
|
|
|
|
class MsalBridge {
|
|
MsalBridge._();
|
|
|
|
static Future<void> initialize({
|
|
required String tenantId,
|
|
required String clientId,
|
|
required String scope,
|
|
required String redirectUri,
|
|
}) async {
|
|
await _initialize(
|
|
tenantId.toJS,
|
|
clientId.toJS,
|
|
scope.toJS,
|
|
redirectUri.toJS,
|
|
).toDart;
|
|
}
|
|
|
|
static Future<void> signIn() async {
|
|
await _signIn().toDart;
|
|
}
|
|
|
|
static Future<String> getAccessToken() async {
|
|
final token = await _getAccessToken().toDart;
|
|
return token.toDart;
|
|
}
|
|
|
|
static bool hasAccount() {
|
|
return _hasAccount().toDart;
|
|
}
|
|
|
|
static Future<void> signOut() async {
|
|
await _signOut().toDart;
|
|
}
|
|
}
|