Skip to content

Commit

Permalink
fix(#58): corrigerefresh token
Browse files Browse the repository at this point in the history
  • Loading branch information
GabrielCostaDeOliveira committed Dec 15, 2024
1 parent 9cc1908 commit d545d7c
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 30 deletions.
35 changes: 18 additions & 17 deletions lib/core/network/AppInterceptors.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,26 @@ import 'package:aranduapp/core/log/Log.dart';
import 'package:dio/dio.dart';

class AppInterceptors extends Interceptor {

@override
Future<void> onRequest(RequestOptions options, RequestInterceptorHandler handler) async {
super.onRequest(options, handler);

try {

String? token = await StorageValue.getInstance().getAuthToken();

if ( token != null) {
options.headers['Authorization'] = 'Bearer $token';
}
Future<void> onRequest(
RequestOptions options,
RequestInterceptorHandler handler
) async {
super.onRequest(options, handler);

handler.next(options);
try {
String? token = await StorageValue.getInstance().getAuthToken();


} catch (e) {
Log.e(e);
rethrow;
if (token != null) {
options.headers['Authorization'] = 'asdfasdfasdfasdfasdfasdfasdfsadfsadf';
} else {
Log.e('Token não encontrado');
}
}
} catch (e) {
Log.e('Erro ao recuperar token: $e');
}

handler.next(options);
}
}

36 changes: 25 additions & 11 deletions lib/core/network/BaseApi.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

import 'package:aranduapp/core/data/local/StorageValue.dart';
import 'package:aranduapp/core/log/Log.dart';
import 'package:aranduapp/core/network/AppInterceptors.dart';
import 'package:dio/dio.dart';
Expand All @@ -8,35 +8,49 @@ class BaseApi {

static BaseApi? _instance;

BaseApi._internal()
: _dio = Dio() {
_dio.options.baseUrl = 'https://arandu-user-service.onrender.com/';
_dio.options.connectTimeout = const Duration(seconds: 5);
BaseApi._internal() : _dio = Dio() {
_dio.options.baseUrl = 'http://192.168.1.107:3000';
_dio.options.connectTimeout = const Duration(seconds: 5);
_dio.options.receiveTimeout = const Duration(seconds: 5);

_dio.interceptors.add(AppInterceptors());
_dio.interceptors.add(LogInterceptor(requestBody: true, responseBody: true));
_dio.interceptors.add(LogInterceptor(
requestBody: true,
responseBody: true,
requestHeader: true,
error: true,
responseHeader: true,
request: true));
}

static BaseApi getInstance() {
return _instance ??= BaseApi._internal();
}

Future<Response> get({required String path, Map<String, dynamic>? queryParameters}) async {
Future<Response> get( {required String path, Map<String, dynamic>? queryParameters}) async {
try {
_dio.options.headers = {
'Authorization':
'Bearer ${await StorageValue.getInstance().getAuthToken()}',
};

return await _dio.get(path, queryParameters: queryParameters);
} catch (e) {
Log.e(e);
rethrow;
rethrow;
}
}

Future<Response> post({ required String path, Object? data}) async {
Future<Response> post({required String path, Object? data}) async {
try {
_dio.options.headers = {
'Authorization':
'Bearer ${await StorageValue.getInstance().getAuthToken()}',
};

return await _dio.post(path, data: data);
} catch (e) {
Log.e(e);
rethrow;
rethrow;
}
}
}
4 changes: 2 additions & 2 deletions lib/ui/login/service/LoginService.dart
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ class LoginService {
await StorageValue.getInstance()
.setAuthToken(loginResponse.authToken ?? '');
await StorageValue.getInstance()
.setAuthToken(loginResponse.refreshToken ?? '');
.setRefreshToken(loginResponse.refreshToken ?? '');

return response;
}

static Future<void> refreshToken() async {
Log.d('init reresh token');

await BaseApi.getInstance().post(path: '/auth/validate-token');
await BaseApi.getInstance().get(path: '/auth/validate-token');

String? refresh = await StorageValue.getInstance().getRefreshToken();

Expand Down

0 comments on commit d545d7c

Please sign in to comment.