6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 670d57e8
Changed files
.../interceptors/response_handle_interceptor.dart | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-)
Diff
diff --git a/comwell_key_app/lib/services/interceptors/response_handle_interceptor.dart b/comwell_key_app/lib/services/interceptors/response_handle_interceptor.dart
index ca9f59c7..6c6b878d 100644
--- a/comwell_key_app/lib/services/interceptors/response_handle_interceptor.dart
+++ b/comwell_key_app/lib/services/interceptors/response_handle_interceptor.dart
@@ -54,14 +54,14 @@ class ResponseHandleInterceptor extends Interceptor {
debugPrint(response.toString());
return handler.next(response);
} else if (response.statusCode == 401) {
- /* final newToken = await _refreshToken();
+ final newToken = await _refreshToken();
if (newToken != null) {
// Retry the original request with the new token
final options = response.requestOptions;
options.headers['Authorization'] = newToken;
final retryResponse = await _dio.fetch(options);
return handler.resolve(retryResponse);
- } */
+ }
} else {
throw DioException(
requestOptions: response.requestOptions,
@@ -78,6 +78,7 @@ class ResponseHandleInterceptor extends Interceptor {
final String? refreshToken =
await _secureStorageService.read(key: constants.refreshToken);
+ print('refreshToken: $refreshToken');
if (refreshToken == null) {
return null;
}
@@ -85,14 +86,18 @@ class ResponseHandleInterceptor extends Interceptor {
final Dio refreshDio = Dio(BaseOptions(
baseUrl:
'https://comwellservicesdev.b2clogin.com/comwellservicesdev.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1a_signin'));
- final response = await refreshDio.post<dynamic>(
- '',
- data: {'refreshToken': refreshToken},
- );
+ final response = await refreshDio.post<dynamic>('',
+ data: {
+ 'grant_type': 'refresh_token',
+ 'refresh_token': refreshToken,
+ },
+ options: Options(headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ }));
if (response.statusCode == 200) {
- final newAccessToken = response.data['accessToken'] as String;
- final newRefreshToken = response.data['refreshToken'] as String;
+ final newAccessToken = response.data['id_token'] as String;
+ final newRefreshToken = response.data['refresh_token'] as String;
await _secureStorageService.write(
key: constants.accessToken, value: newAccessToken);
@@ -101,6 +106,5 @@ class ResponseHandleInterceptor extends Interceptor {
return newAccessToken;
}
-
}
}