chore: remove email sign-in, use server-side sessions
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
b1fe836ed0
commit
86b742f510
6 changed files with 9 additions and 907 deletions
|
|
@ -1,5 +1,4 @@
|
|||
import 'package:serverpod_auth_idp_server/core.dart';
|
||||
import 'package:serverpod_auth_idp_server/providers/email.dart';
|
||||
import 'package:serverpod_cloud_storage/serverpod_cloud_storage.dart';
|
||||
|
||||
import 'src/generated/serverpod.dart';
|
||||
|
|
@ -15,20 +14,14 @@ void run(List<String> args) async {
|
|||
// and the identity providers will be the authentication options available for users.
|
||||
pod.initializeAuthServices(
|
||||
tokenManagerBuilders: [
|
||||
// Use JWT for authentication keys towards the server.
|
||||
JwtConfigFromPasswords(),
|
||||
],
|
||||
identityProviderBuilders: [
|
||||
// Configure the email identity provider for email/password authentication.
|
||||
// The default setup works with Serverpod Cloud without configuration. In
|
||||
// development the verification codes are logged to the console, and in
|
||||
// staging and production they are sent through the Serverpod Cloud email
|
||||
// service. If you want to use a custom provider for sending emails, use
|
||||
// `EmailIdpConfigFromPasswords`.
|
||||
ServerpodCloudEmailIdpConfig(
|
||||
appDisplayName: 'halkyon_learn',
|
||||
// Server-side sessions: revocable immediately, scopes live on the session row.
|
||||
// No absolute lifetime (anonymous session cannot be restored). The inactivity
|
||||
// timeout matches the pruning policy for abandoned accounts.
|
||||
ServerSideSessionsConfigFromPasswords(
|
||||
defaultSessionInactivityTimeout: const Duration(days: 90),
|
||||
),
|
||||
],
|
||||
identityProviderBuilders: [],
|
||||
);
|
||||
|
||||
// Configure cloud storage.
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
import 'package:serverpod_auth_idp_server/providers/email.dart';
|
||||
|
||||
/// By extending [EmailIdpBaseEndpoint], the email identity provider endpoints
|
||||
/// are made available on the server and enable the corresponding sign-in widget
|
||||
/// on the client.
|
||||
class EmailIdpEndpoint extends EmailIdpBaseEndpoint {}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
import 'package:serverpod_auth_idp_server/core.dart';
|
||||
|
||||
/// By extending [RefreshJwtTokensEndpoint], the JWT token refresh endpoint
|
||||
/// is made available on the server and enables automatic token refresh on the client.
|
||||
class JwtRefreshEndpoint extends RefreshJwtTokensEndpoint {}
|
||||
|
|
@ -15,232 +15,10 @@ import 'package:serverpod_auth_core_server/serverpod_auth_core_server.dart'
|
|||
as _iacs;
|
||||
import 'package:serverpod_auth_idp_server/serverpod_auth_idp_server.dart'
|
||||
as _iais;
|
||||
import '../auth/email_idp_endpoint.dart' as _iuc1hd5t;
|
||||
import '../auth/jwt_refresh_endpoint.dart' as _inwq3ztq;
|
||||
|
||||
class Endpoints extends _is.EndpointDispatch {
|
||||
@override
|
||||
void initializeEndpoints(_is.Server server) {
|
||||
var endpoints = <String, _is.Endpoint>{
|
||||
'emailIdp': _iuc1hd5t.EmailIdpEndpoint()
|
||||
..initialize(
|
||||
server,
|
||||
'emailIdp',
|
||||
null,
|
||||
),
|
||||
'jwtRefresh': _inwq3ztq.JwtRefreshEndpoint()
|
||||
..initialize(
|
||||
server,
|
||||
'jwtRefresh',
|
||||
null,
|
||||
),
|
||||
};
|
||||
connectors['emailIdp'] = _is.EndpointConnector(
|
||||
name: 'emailIdp',
|
||||
endpoint: endpoints['emailIdp']!,
|
||||
methodConnectors: {
|
||||
'login': _is.MethodConnector(
|
||||
name: 'login',
|
||||
params: {
|
||||
'email': _is.ParameterDescription(
|
||||
name: 'email',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
'password': _is.ParameterDescription(
|
||||
name: 'password',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async =>
|
||||
(endpoints['emailIdp'] as _iuc1hd5t.EmailIdpEndpoint).login(
|
||||
session,
|
||||
email: params['email'],
|
||||
password: params['password'],
|
||||
),
|
||||
),
|
||||
'startRegistration': _is.MethodConnector(
|
||||
name: 'startRegistration',
|
||||
params: {
|
||||
'email': _is.ParameterDescription(
|
||||
name: 'email',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async => (endpoints['emailIdp'] as _iuc1hd5t.EmailIdpEndpoint)
|
||||
.startRegistration(
|
||||
session,
|
||||
email: params['email'],
|
||||
),
|
||||
),
|
||||
'verifyRegistrationCode': _is.MethodConnector(
|
||||
name: 'verifyRegistrationCode',
|
||||
params: {
|
||||
'accountRequestId': _is.ParameterDescription(
|
||||
name: 'accountRequestId',
|
||||
type: _is.getType<_is.UuidValue>(),
|
||||
nullable: false,
|
||||
),
|
||||
'verificationCode': _is.ParameterDescription(
|
||||
name: 'verificationCode',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async => (endpoints['emailIdp'] as _iuc1hd5t.EmailIdpEndpoint)
|
||||
.verifyRegistrationCode(
|
||||
session,
|
||||
accountRequestId: params['accountRequestId'],
|
||||
verificationCode: params['verificationCode'],
|
||||
),
|
||||
),
|
||||
'finishRegistration': _is.MethodConnector(
|
||||
name: 'finishRegistration',
|
||||
params: {
|
||||
'registrationToken': _is.ParameterDescription(
|
||||
name: 'registrationToken',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
'password': _is.ParameterDescription(
|
||||
name: 'password',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async => (endpoints['emailIdp'] as _iuc1hd5t.EmailIdpEndpoint)
|
||||
.finishRegistration(
|
||||
session,
|
||||
registrationToken: params['registrationToken'],
|
||||
password: params['password'],
|
||||
),
|
||||
),
|
||||
'startPasswordReset': _is.MethodConnector(
|
||||
name: 'startPasswordReset',
|
||||
params: {
|
||||
'email': _is.ParameterDescription(
|
||||
name: 'email',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async => (endpoints['emailIdp'] as _iuc1hd5t.EmailIdpEndpoint)
|
||||
.startPasswordReset(
|
||||
session,
|
||||
email: params['email'],
|
||||
),
|
||||
),
|
||||
'verifyPasswordResetCode': _is.MethodConnector(
|
||||
name: 'verifyPasswordResetCode',
|
||||
params: {
|
||||
'passwordResetRequestId': _is.ParameterDescription(
|
||||
name: 'passwordResetRequestId',
|
||||
type: _is.getType<_is.UuidValue>(),
|
||||
nullable: false,
|
||||
),
|
||||
'verificationCode': _is.ParameterDescription(
|
||||
name: 'verificationCode',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async => (endpoints['emailIdp'] as _iuc1hd5t.EmailIdpEndpoint)
|
||||
.verifyPasswordResetCode(
|
||||
session,
|
||||
passwordResetRequestId: params['passwordResetRequestId'],
|
||||
verificationCode: params['verificationCode'],
|
||||
),
|
||||
),
|
||||
'finishPasswordReset': _is.MethodConnector(
|
||||
name: 'finishPasswordReset',
|
||||
params: {
|
||||
'finishPasswordResetToken': _is.ParameterDescription(
|
||||
name: 'finishPasswordResetToken',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
'newPassword': _is.ParameterDescription(
|
||||
name: 'newPassword',
|
||||
type: _is.getType<String>(),
|
||||
nullable: false,
|
||||
),
|
||||
},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async => (endpoints['emailIdp'] as _iuc1hd5t.EmailIdpEndpoint)
|
||||
.finishPasswordReset(
|
||||
session,
|
||||
finishPasswordResetToken:
|
||||
params['finishPasswordResetToken'],
|
||||
newPassword: params['newPassword'],
|
||||
),
|
||||
),
|
||||
'hasAccount': _is.MethodConnector(
|
||||
name: 'hasAccount',
|
||||
params: {},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async => (endpoints['emailIdp'] as _iuc1hd5t.EmailIdpEndpoint)
|
||||
.hasAccount(session),
|
||||
),
|
||||
},
|
||||
);
|
||||
connectors['jwtRefresh'] = _is.EndpointConnector(
|
||||
name: 'jwtRefresh',
|
||||
endpoint: endpoints['jwtRefresh']!,
|
||||
methodConnectors: {
|
||||
'refreshAccessToken': _is.MethodConnector(
|
||||
name: 'refreshAccessToken',
|
||||
params: {
|
||||
'refreshToken': _is.ParameterDescription(
|
||||
name: 'refreshToken',
|
||||
type: _is.getType<String?>(),
|
||||
nullable: true,
|
||||
),
|
||||
},
|
||||
call:
|
||||
(
|
||||
_is.Session session,
|
||||
Map<String, dynamic> params,
|
||||
) async =>
|
||||
(endpoints['jwtRefresh'] as _inwq3ztq.JwtRefreshEndpoint)
|
||||
.refreshAccessToken(
|
||||
session,
|
||||
refreshToken: params['refreshToken'],
|
||||
),
|
||||
),
|
||||
},
|
||||
);
|
||||
modules['serverpod_auth_idp'] = _iais.Endpoints()
|
||||
..initializeEndpoints(server);
|
||||
modules['serverpod_auth_core'] = _iacs.Endpoints()
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
emailIdp:
|
||||
- login:
|
||||
- startRegistration:
|
||||
- verifyRegistrationCode:
|
||||
- finishRegistration:
|
||||
- startPasswordReset:
|
||||
- verifyPasswordResetCode:
|
||||
- finishPasswordReset:
|
||||
- hasAccount:
|
||||
jwtRefresh:
|
||||
- refreshAccessToken:
|
||||
|
|
@ -11,11 +11,8 @@
|
|||
// ignore_for_file: no_leading_underscores_for_local_identifiers
|
||||
|
||||
// ignore_for_file: no_leading_underscores_for_library_prefixes
|
||||
import 'dart:async' as _ida;
|
||||
import 'dart:io' as _idi;
|
||||
import 'package:serverpod/serverpod.dart' as _is;
|
||||
import 'package:serverpod_auth_core_server/serverpod_auth_core_server.dart'
|
||||
as _iacs;
|
||||
import 'package:serverpod_test/serverpod_test.dart' as _ist;
|
||||
import 'package:halkyon_learn_server/src/generated/protocol.dart';
|
||||
import 'package:halkyon_learn_server/src/generated/endpoints.dart';
|
||||
|
|
@ -144,11 +141,7 @@ void withServerpod(
|
|||
)(testClosure);
|
||||
}
|
||||
|
||||
class TestEndpoints {
|
||||
late final _EmailIdpEndpoint emailIdp;
|
||||
|
||||
late final _JwtRefreshEndpoint jwtRefresh;
|
||||
}
|
||||
class TestEndpoints {}
|
||||
|
||||
class _InternalTestEndpoints extends TestEndpoints
|
||||
implements _ist.InternalTestEndpoints {
|
||||
|
|
@ -156,332 +149,5 @@ class _InternalTestEndpoints extends TestEndpoints
|
|||
void initialize(
|
||||
_is.SerializationManager serializationManager,
|
||||
_is.EndpointDispatch endpoints,
|
||||
) {
|
||||
emailIdp = _EmailIdpEndpoint(
|
||||
endpoints,
|
||||
serializationManager,
|
||||
);
|
||||
jwtRefresh = _JwtRefreshEndpoint(
|
||||
endpoints,
|
||||
serializationManager,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _EmailIdpEndpoint {
|
||||
_EmailIdpEndpoint(
|
||||
this._endpointDispatch,
|
||||
this._serializationManager,
|
||||
);
|
||||
|
||||
final _is.EndpointDispatch _endpointDispatch;
|
||||
|
||||
final _is.SerializationManager _serializationManager;
|
||||
|
||||
_ida.Future<_iacs.AuthSuccess> login(
|
||||
_ist.TestSessionBuilder sessionBuilder, {
|
||||
required String email,
|
||||
required String password,
|
||||
}) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'emailIdp',
|
||||
method: 'login',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'emailIdp',
|
||||
methodName: 'login',
|
||||
parameters: _ist.testObjectToJson({
|
||||
'email': email,
|
||||
'password': password,
|
||||
}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<_iacs.AuthSuccess>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_ida.Future<_is.UuidValue> startRegistration(
|
||||
_ist.TestSessionBuilder sessionBuilder, {
|
||||
required String email,
|
||||
}) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'emailIdp',
|
||||
method: 'startRegistration',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'emailIdp',
|
||||
methodName: 'startRegistration',
|
||||
parameters: _ist.testObjectToJson({'email': email}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<_is.UuidValue>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_ida.Future<String> verifyRegistrationCode(
|
||||
_ist.TestSessionBuilder sessionBuilder, {
|
||||
required _is.UuidValue accountRequestId,
|
||||
required String verificationCode,
|
||||
}) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'emailIdp',
|
||||
method: 'verifyRegistrationCode',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'emailIdp',
|
||||
methodName: 'verifyRegistrationCode',
|
||||
parameters: _ist.testObjectToJson({
|
||||
'accountRequestId': accountRequestId,
|
||||
'verificationCode': verificationCode,
|
||||
}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<String>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_ida.Future<_iacs.AuthSuccess> finishRegistration(
|
||||
_ist.TestSessionBuilder sessionBuilder, {
|
||||
required String registrationToken,
|
||||
required String password,
|
||||
}) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'emailIdp',
|
||||
method: 'finishRegistration',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'emailIdp',
|
||||
methodName: 'finishRegistration',
|
||||
parameters: _ist.testObjectToJson({
|
||||
'registrationToken': registrationToken,
|
||||
'password': password,
|
||||
}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<_iacs.AuthSuccess>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_ida.Future<_is.UuidValue> startPasswordReset(
|
||||
_ist.TestSessionBuilder sessionBuilder, {
|
||||
required String email,
|
||||
}) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'emailIdp',
|
||||
method: 'startPasswordReset',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'emailIdp',
|
||||
methodName: 'startPasswordReset',
|
||||
parameters: _ist.testObjectToJson({'email': email}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<_is.UuidValue>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_ida.Future<String> verifyPasswordResetCode(
|
||||
_ist.TestSessionBuilder sessionBuilder, {
|
||||
required _is.UuidValue passwordResetRequestId,
|
||||
required String verificationCode,
|
||||
}) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'emailIdp',
|
||||
method: 'verifyPasswordResetCode',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'emailIdp',
|
||||
methodName: 'verifyPasswordResetCode',
|
||||
parameters: _ist.testObjectToJson({
|
||||
'passwordResetRequestId': passwordResetRequestId,
|
||||
'verificationCode': verificationCode,
|
||||
}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<String>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_ida.Future<void> finishPasswordReset(
|
||||
_ist.TestSessionBuilder sessionBuilder, {
|
||||
required String finishPasswordResetToken,
|
||||
required String newPassword,
|
||||
}) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'emailIdp',
|
||||
method: 'finishPasswordReset',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'emailIdp',
|
||||
methodName: 'finishPasswordReset',
|
||||
parameters: _ist.testObjectToJson({
|
||||
'finishPasswordResetToken': finishPasswordResetToken,
|
||||
'newPassword': newPassword,
|
||||
}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<void>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_ida.Future<bool> hasAccount(_ist.TestSessionBuilder sessionBuilder) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'emailIdp',
|
||||
method: 'hasAccount',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'emailIdp',
|
||||
methodName: 'hasAccount',
|
||||
parameters: _ist.testObjectToJson({}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<bool>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class _JwtRefreshEndpoint {
|
||||
_JwtRefreshEndpoint(
|
||||
this._endpointDispatch,
|
||||
this._serializationManager,
|
||||
);
|
||||
|
||||
final _is.EndpointDispatch _endpointDispatch;
|
||||
|
||||
final _is.SerializationManager _serializationManager;
|
||||
|
||||
_ida.Future<_iacs.AuthSuccess> refreshAccessToken(
|
||||
_ist.TestSessionBuilder sessionBuilder, {
|
||||
String? refreshToken,
|
||||
}) async {
|
||||
return _ist.callAwaitableFunctionAndHandleExceptions(() async {
|
||||
var _localUniqueSession =
|
||||
(sessionBuilder as _ist.InternalTestSessionBuilder).internalBuild(
|
||||
endpoint: 'jwtRefresh',
|
||||
method: 'refreshAccessToken',
|
||||
);
|
||||
try {
|
||||
var _localCallContext = await _endpointDispatch.getMethodCallContext(
|
||||
createSessionCallback: (_) => _localUniqueSession,
|
||||
endpointPath: 'jwtRefresh',
|
||||
methodName: 'refreshAccessToken',
|
||||
parameters: _ist.testObjectToJson({'refreshToken': refreshToken}),
|
||||
serializationManager: _serializationManager,
|
||||
);
|
||||
var _localReturnValue =
|
||||
await (_localCallContext.method.call(
|
||||
_localUniqueSession,
|
||||
_localCallContext.arguments,
|
||||
)
|
||||
as _ida.Future<_iacs.AuthSuccess>);
|
||||
return _localReturnValue;
|
||||
} finally {
|
||||
await _localUniqueSession.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
) {}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue