安全存储
付费插件
此插件需要购买。价格:$49(一次性购买)
概述
SecureStorage API 为敏感数据(如令牌、凭据和用户密钥)提供加密存储。
安装
shell
composer require nativephp/mobile-secure-storage使用
PHP (Livewire/Blade)
php
use Native\Mobile\Facades\SecureStorage;
// 存储值
SecureStorage::set('auth_token', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...');
// 获取值
$token = SecureStorage::get('auth_token');
if ($token) {
// 使用令牌
}
// 删除值
SecureStorage::delete('auth_token');JavaScript (Vue/React/Inertia)
js
import { secureStorage } from '#nativephp';
// 存储值
await secureStorage.set('auth_token', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...');
// 获取值
const result = await secureStorage.get('auth_token');
if (result.value) {
console.log('令牌:', result.value);
}
// 删除值
await secureStorage.delete('auth_token');方法
set(string $key, ?string $value): array
存储或删除值。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 存储的键名 |
value | string|null | 要存储的值(null 表示删除) |
返回: { success: true }
get(string $key): array
获取存储的值。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 要获取的键名 |
返回: { value: string }(如果未找到则为空字符串)
delete(string $key): array
删除存储的值。
| 参数 | 类型 | 描述 |
|---|---|---|
key | string | 要删除的键名 |
返回: { success: true }
安全性
Android
- 使用 EncryptedSharedPreferences
- AES-256 加密
- 由 Android Keystore 系统支持
- 自动密钥管理
iOS
- 使用 iOS Keychain Services
- 数据在静态时加密
- 受
kSecAttrAccessibleWhenUnlockedThisDeviceOnly保护 - 在具有 Secure Enclave 的设备上有硬件支持
示例
存储用户凭据
php
use Native\Mobile\Facades\SecureStorage;
public function login($email, $password)
{
// 认证...
$token = $this->authenticate($email, $password);
// 安全存储令牌
SecureStorage::set('auth_token', $token);
SecureStorage::set('user_email', $email);
}
public function logout()
{
SecureStorage::delete('auth_token');
SecureStorage::delete('user_email');
}应用启动时检查存储的凭据
php
use Native\Mobile\Facades\SecureStorage;
public function checkAuth()
{
$token = SecureStorage::get('auth_token');
if ($token && !empty($token['value'])) {
// 使用存储的令牌自动登录
return $this->loginWithToken($token['value']);
}
return redirect('/login');
}