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')
|
@EnhancedEnumValue(name: 'm.login.password')
|
||||||
mLoginPassword,
|
mLoginPassword,
|
||||||
@EnhancedEnumValue(name: 'm.login.token')
|
@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 = {
|
final override = {
|
||||||
'm.login.password': LoginType.mLoginPassword,
|
'm.login.password': LoginType.mLoginPassword,
|
||||||
'm.login.token': LoginType.mLoginToken,
|
'm.login.token': LoginType.mLoginToken,
|
||||||
|
'org.matrix.login.jwt': LoginType.mLoginJWT,
|
||||||
}[val];
|
}[val];
|
||||||
// ignore: unnecessary_this
|
// ignore: unnecessary_this
|
||||||
return this.contains(override) ? override : null;
|
return this.contains(override) ? override : null;
|
||||||
|
|
@ -320,25 +321,31 @@ extension LoginTypeEnhancedEnum on LoginType {
|
||||||
String get name => {
|
String get name => {
|
||||||
LoginType.mLoginPassword: 'm.login.password',
|
LoginType.mLoginPassword: 'm.login.password',
|
||||||
LoginType.mLoginToken: 'm.login.token',
|
LoginType.mLoginToken: 'm.login.token',
|
||||||
|
LoginType.mLoginJWT: 'org.matrix.login.jwt',
|
||||||
}[this]!;
|
}[this]!;
|
||||||
bool get isMLoginPassword => this == LoginType.mLoginPassword;
|
bool get isMLoginPassword => this == LoginType.mLoginPassword;
|
||||||
bool get isMLoginToken => this == LoginType.mLoginToken;
|
bool get isMLoginToken => this == LoginType.mLoginToken;
|
||||||
|
bool get isMLoginJWT => this == LoginType.mLoginJWT;
|
||||||
T when<T>({
|
T when<T>({
|
||||||
required T Function() mLoginPassword,
|
required T Function() mLoginPassword,
|
||||||
required T Function() mLoginToken,
|
required T Function() mLoginToken,
|
||||||
|
required T Function() mLoginJWT,
|
||||||
}) =>
|
}) =>
|
||||||
{
|
{
|
||||||
LoginType.mLoginPassword: mLoginPassword,
|
LoginType.mLoginPassword: mLoginPassword,
|
||||||
LoginType.mLoginToken: mLoginToken,
|
LoginType.mLoginToken: mLoginToken,
|
||||||
|
LoginType.mLoginJWT: mLoginJWT,
|
||||||
}[this]!();
|
}[this]!();
|
||||||
T maybeWhen<T>({
|
T maybeWhen<T>({
|
||||||
T? Function()? mLoginPassword,
|
T? Function()? mLoginPassword,
|
||||||
T? Function()? mLoginToken,
|
T? Function()? mLoginToken,
|
||||||
|
T? Function()? mLoginJWT,
|
||||||
required T Function() orElse,
|
required T Function() orElse,
|
||||||
}) =>
|
}) =>
|
||||||
{
|
{
|
||||||
LoginType.mLoginPassword: mLoginPassword,
|
LoginType.mLoginPassword: mLoginPassword,
|
||||||
LoginType.mLoginToken: mLoginToken,
|
LoginType.mLoginToken: mLoginToken,
|
||||||
|
LoginType.mLoginJWT: mLoginJWT,
|
||||||
}[this]
|
}[this]
|
||||||
?.call() ??
|
?.call() ??
|
||||||
orElse();
|
orElse();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue