주석화 진행상황 정리하고 핵심 모듈에 한글 주석 추가
This commit is contained in:
@@ -4,14 +4,19 @@ import 'token_storage_stub.dart'
|
||||
|
||||
/// 액세스/리프레시 토큰을 안전하게 보관하는 스토리지 인터페이스.
|
||||
abstract class TokenStorage {
|
||||
/// 액세스 토큰을 저장한다. null을 전달하면 기존 값을 제거한다.
|
||||
Future<void> writeAccessToken(String? token);
|
||||
|
||||
/// 저장된 액세스 토큰을 읽어온다. 없으면 null을 반환한다.
|
||||
Future<String?> readAccessToken();
|
||||
|
||||
/// 리프레시 토큰을 저장한다. null이면 값을 삭제한다.
|
||||
Future<void> writeRefreshToken(String? token);
|
||||
|
||||
/// 저장된 리프레시 토큰을 읽어온다. 없으면 null을 반환한다.
|
||||
Future<String?> readRefreshToken();
|
||||
|
||||
/// 저장 중인 모든 토큰 정보를 초기화한다.
|
||||
Future<void> clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,9 +2,12 @@ import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
|
||||
import 'token_storage.dart';
|
||||
|
||||
/// 안전한 스토리지에 저장할 액세스 토큰 키.
|
||||
const _kAccessTokenKey = 'access_token';
|
||||
/// 안전한 스토리지에 저장할 리프레시 토큰 키.
|
||||
const _kRefreshTokenKey = 'refresh_token';
|
||||
|
||||
/// 모바일/데스크톱에서 [FlutterSecureStorage]를 사용하는 토큰 스토리지를 생성한다.
|
||||
TokenStorage buildTokenStorage() {
|
||||
const storage = FlutterSecureStorage(
|
||||
aOptions: AndroidOptions(encryptedSharedPreferences: true),
|
||||
@@ -16,6 +19,7 @@ TokenStorage buildTokenStorage() {
|
||||
return _SecureTokenStorage(storage);
|
||||
}
|
||||
|
||||
/// [FlutterSecureStorage] 기반 토큰 스토리지 구현체.
|
||||
class _SecureTokenStorage implements TokenStorage {
|
||||
const _SecureTokenStorage(this._storage);
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
import 'token_storage.dart';
|
||||
|
||||
/// 현재 플랫폼에서 지원되는 토큰 스토리지가 없을 때 사용하는 기본 구현을 생성한다.
|
||||
TokenStorage buildTokenStorage() => _UnsupportedTokenStorage();
|
||||
|
||||
/// 토큰 저장 기능이 제공되지 않는 환경에서 호출될 때 예외를 던지는 스텁.
|
||||
class _UnsupportedTokenStorage implements TokenStorage {
|
||||
Never _unsupported() {
|
||||
throw UnsupportedError('TokenStorage is not supported on this platform.');
|
||||
|
||||
@@ -3,11 +3,15 @@ import 'dart:html' as html;
|
||||
|
||||
import 'token_storage.dart';
|
||||
|
||||
/// 웹 로컬스토리지에 저장할 액세스 토큰 키.
|
||||
const _kAccessTokenKey = 'access_token';
|
||||
/// 웹 로컬스토리지에 저장할 리프레시 토큰 키.
|
||||
const _kRefreshTokenKey = 'refresh_token';
|
||||
|
||||
/// 웹 환경에서 로컬스토리지를 활용하는 토큰 스토리지를 생성한다.
|
||||
TokenStorage buildTokenStorage() => _WebTokenStorage(html.window.localStorage);
|
||||
|
||||
/// 브라우저 로컬스토리지에 토큰을 저장하는 구현체.
|
||||
class _WebTokenStorage implements TokenStorage {
|
||||
const _WebTokenStorage(this._storage);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user