TF-4049 Pre-fill OIDC login form
This commit is contained in:
@@ -8,7 +8,13 @@ abstract class AuthenticationOIDCDataSource {
|
||||
|
||||
Future<OIDCDiscoveryResponse> discoverOIDC(OIDCConfiguration oidcConfiguration);
|
||||
|
||||
Future<TokenOIDC> getTokenOIDC(String clientId, String redirectUrl, String discoveryUrl, List<String> scopes);
|
||||
Future<TokenOIDC> getTokenOIDC(
|
||||
String clientId,
|
||||
String redirectUrl,
|
||||
String discoveryUrl,
|
||||
List<String> scopes, {
|
||||
String? loginHint,
|
||||
});
|
||||
|
||||
Future<void> persistTokenOIDC(TokenOIDC tokenOidc);
|
||||
|
||||
|
||||
@@ -56,9 +56,21 @@ class AuthenticationOIDCDataSourceImpl extends AuthenticationOIDCDataSource {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<TokenOIDC> getTokenOIDC(String clientId, String redirectUrl, String discoveryUrl, List<String> scopes) {
|
||||
Future<TokenOIDC> getTokenOIDC(
|
||||
String clientId,
|
||||
String redirectUrl,
|
||||
String discoveryUrl,
|
||||
List<String> scopes, {
|
||||
String? loginHint,
|
||||
}) {
|
||||
return Future.sync(() async {
|
||||
return await _authenticationClient.getTokenOIDC(clientId, redirectUrl, discoveryUrl, scopes);
|
||||
return await _authenticationClient.getTokenOIDC(
|
||||
clientId,
|
||||
redirectUrl,
|
||||
discoveryUrl,
|
||||
scopes,
|
||||
loginHint: loginHint,
|
||||
);
|
||||
}).catchError(_exceptionThrower.throwException);
|
||||
}
|
||||
|
||||
|
||||
+6
-4
@@ -13,10 +13,12 @@ abstract class AuthenticationClientBase {
|
||||
List<String> scopes);
|
||||
|
||||
Future<TokenOIDC> getTokenOIDC(
|
||||
String clientId,
|
||||
String redirectUrl,
|
||||
String discoveryUrl,
|
||||
List<String> scopes);
|
||||
String clientId,
|
||||
String redirectUrl,
|
||||
String discoveryUrl,
|
||||
List<String> scopes, {
|
||||
String? loginHint,
|
||||
});
|
||||
|
||||
Future<TokenOIDC> refreshingTokensOIDC(
|
||||
String clientId,
|
||||
|
||||
+4
-2
@@ -59,14 +59,16 @@ mixin AuthenticationClientInteractionMixin {
|
||||
String clientId,
|
||||
String redirectUrl,
|
||||
String discoveryUrl,
|
||||
List<String> scopes,
|
||||
) {
|
||||
List<String> scopes, {
|
||||
String? loginHint,
|
||||
}) {
|
||||
return AuthorizationTokenRequest(
|
||||
clientId,
|
||||
redirectUrl,
|
||||
discoveryUrl: discoveryUrl,
|
||||
scopes: scopes,
|
||||
externalUserAgent: getExternalUserAgent(),
|
||||
loginHint: loginHint,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+4
-2
@@ -27,13 +27,15 @@ class AuthenticationClientMobile with AuthenticationClientInteractionMixin
|
||||
String clientId,
|
||||
String redirectUrl,
|
||||
String discoveryUrl,
|
||||
List<String> scopes,
|
||||
) async {
|
||||
List<String> scopes, {
|
||||
String? loginHint,
|
||||
}) async {
|
||||
final authorizationTokenRequest = getAuthorizationTokenRequest(
|
||||
clientId,
|
||||
redirectUrl,
|
||||
discoveryUrl,
|
||||
scopes,
|
||||
loginHint: loginHint,
|
||||
);
|
||||
final authorizationTokenResponse = await _appAuth.authorizeAndExchangeCode(
|
||||
authorizationTokenRequest,
|
||||
|
||||
+4
-2
@@ -25,13 +25,15 @@ class AuthenticationClientWeb with AuthenticationClientInteractionMixin
|
||||
String clientId,
|
||||
String redirectUrl,
|
||||
String discoveryUrl,
|
||||
List<String> scopes,
|
||||
) async {
|
||||
List<String> scopes, {
|
||||
String? loginHint,
|
||||
}) async {
|
||||
final authorizationTokenRequest = getAuthorizationTokenRequest(
|
||||
clientId,
|
||||
redirectUrl,
|
||||
discoveryUrl,
|
||||
scopes,
|
||||
loginHint: loginHint,
|
||||
);
|
||||
final authorizationTokenResponse = await _appAuthWeb.authorizeAndExchangeCode(
|
||||
authorizationTokenRequest,
|
||||
|
||||
@@ -28,8 +28,20 @@ class AuthenticationOIDCRepositoryImpl extends AuthenticationOIDCRepository {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<TokenOIDC> getTokenOIDC(String clientId, String redirectUrl, String discoveryUrl, List<String> scopes) {
|
||||
return _oidcDataSource.getTokenOIDC(clientId, redirectUrl, discoveryUrl, scopes);
|
||||
Future<TokenOIDC> getTokenOIDC(
|
||||
String clientId,
|
||||
String redirectUrl,
|
||||
String discoveryUrl,
|
||||
List<String> scopes, {
|
||||
String? loginHint,
|
||||
}) {
|
||||
return _oidcDataSource.getTokenOIDC(
|
||||
clientId,
|
||||
redirectUrl,
|
||||
discoveryUrl,
|
||||
scopes,
|
||||
loginHint: loginHint,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
Reference in New Issue
Block a user