feat: support for JWT authentication
Signed-off-by: Krille <c.kussowski@famedly.com>
This commit is contained in:
parent
ecb1fc973e
commit
e9825f7f40
|
|
@ -1398,7 +1398,9 @@ enum LoginType {
|
|||
@EnhancedEnumValue(name: 'm.login.password')
|
||||
mLoginPassword,
|
||||
@EnhancedEnumValue(name: 'm.login.token')
|
||||
mLoginToken
|
||||
mLoginToken,
|
||||
@EnhancedEnumValue(name: 'org.matrix.login.jwt')
|
||||
mLoginJWT
|
||||
}
|
||||
|
||||
///
|
||||
|
|
|
|||
|
|
@ -308,6 +308,7 @@ extension LoginTypeFromStringExtension on Iterable<LoginType> {
|
|||
final override = {
|
||||
'm.login.password': LoginType.mLoginPassword,
|
||||
'm.login.token': LoginType.mLoginToken,
|
||||
'org.matrix.login.jwt': LoginType.mLoginJWT,
|
||||
}[val];
|
||||
// ignore: unnecessary_this
|
||||
return this.contains(override) ? override : null;
|
||||
|
|
@ -320,25 +321,31 @@ extension LoginTypeEnhancedEnum on LoginType {
|
|||
String get name => {
|
||||
LoginType.mLoginPassword: 'm.login.password',
|
||||
LoginType.mLoginToken: 'm.login.token',
|
||||
LoginType.mLoginJWT: 'org.matrix.login.jwt',
|
||||
}[this]!;
|
||||
bool get isMLoginPassword => this == LoginType.mLoginPassword;
|
||||
bool get isMLoginToken => this == LoginType.mLoginToken;
|
||||
bool get isMLoginJWT => this == LoginType.mLoginJWT;
|
||||
T when<T>({
|
||||
required T Function() mLoginPassword,
|
||||
required T Function() mLoginToken,
|
||||
required T Function() mLoginJWT,
|
||||
}) =>
|
||||
{
|
||||
LoginType.mLoginPassword: mLoginPassword,
|
||||
LoginType.mLoginToken: mLoginToken,
|
||||
LoginType.mLoginJWT: mLoginJWT,
|
||||
}[this]!();
|
||||
T maybeWhen<T>({
|
||||
T? Function()? mLoginPassword,
|
||||
T? Function()? mLoginToken,
|
||||
T? Function()? mLoginJWT,
|
||||
required T Function() orElse,
|
||||
}) =>
|
||||
{
|
||||
LoginType.mLoginPassword: mLoginPassword,
|
||||
LoginType.mLoginToken: mLoginToken,
|
||||
LoginType.mLoginJWT: mLoginJWT,
|
||||
}[this]
|
||||
?.call() ??
|
||||
orElse();
|
||||
|
|
|
|||
Loading…
Reference in New Issue