swift 检查token 是否有效 并进行封装
时间: 2024-04-20 16:27:35 浏览: 8
可以使用 Swift 的 `URLSession` 发送请求来检查 token 是否有效。具体的封装可以参考以下代码:
```swift
enum TokenValidationResult {
case success
case failure
}
class TokenManager {
private let token: String
private let url: URL
init(token: String, url: URL) {
self.token = token
self.url = url
}
func validateToken(completion: @escaping (TokenValidationResult) -> Void) {
var request = URLRequest(url: url)
request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let error = error {
print("Error validating token: \(error)")
completion(.failure)
return
}
guard let httpResponse = response as? HTTPURLResponse else {
print("Invalid response")
completion(.failure)
return
}
switch httpResponse.statusCode {
case 200...299:
completion(.success)
default:
print("Token validation failed with status code: \(httpResponse.statusCode)")
completion(.failure)
}
}
task.resume()
}
}
```
使用时,可以创建一个 `TokenManager` 对象,然后调用 `validateToken` 方法来检查 token 是否有效。例如:
```swift
let tokenManager = TokenManager(token: "your_token_here", url: URL(string: "https://example.com/validate_token")!)
tokenManager.validateToken { (result) in
switch result {
case .success:
print("Token is valid")
case .failure:
print("Token validation failed")
}
}
```
当然,这只是一个简单的示例,实际情况中可能需要根据具体的 API 接口来进行修改。