我正在尝试集成 Javascript Object Signing and Encryption (JOSE) jose使用我的 iOS 应用程序。
引用 This Sample code : hongkongkiwi/ObjectiveC-JOSE ..使用这个试图将我的输入参数作为加密格式发送到服务器。
如果有人集成了 JOSE,请提供流程。
目前我已经实现了:
NSURLSessionDataTask *dataTask =[[self dataSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
completionHandler(nil,error);
return ;
}
id responseObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"response object :%@",responseObject);
}
其实我找到了一个使用 JOSE 进行解码的片段:
http://popdevelop.com/2013/12/decode-json-web-token-jwt-in-ios-objective-c/
但没有找到任何用于编码的库。所以我怀疑是否可以在 iOS 上使用 JOSE 进行编码?
Best Answer-推荐答案 strong>
使用 JSON WEB TOKEN cocoa pods 示例解决了问题。
安装 cocoa pod :
pod "JWT"
要对 JWT 进行编码和解码,请在 JWTBuilder 界面中使用流畅的样式
- (JWTBuilder *)encodePayloadNSDictionary *)payload;
- (JWTBuilder *)encodeClaimsSetJWTClaimsSet *)claimsSet;
- (JWTBuilder *)decodeMessageNSString *)message;
您可以像这样对任意负载进行编码:
NSDictionary *payload = @{@"foo" : @"bar"};
NSString *secret = @"your secret key";
id<JWTAlgorithm> algorithm = [JWTAlgorithmFactory algorithmByName"HS256"];
[JWTBuilder encodePayload:payload].secret(@"secret").algorithm(algorithm).encode;
JWT token 将是这样的示例:
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJVc2VySWQiOiI1NmY2YWUxYjYwZDc0MTBjZjRkOWU1YjMiLCJyZXF1ZXN0X3R5cGUiOiIxIn0.AFK3zGF5HvIEl2Qr0cNHmmS97zJmfolipuUKOGdJzUY"
您可以在此处检查编码和解码值:
https://jwt.io/#debugger
关于ios - 在 iOS 编程中使用 JWT 使用 Javascript 对象签名和加密 (JOSE) 进行加密?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/37322585/
|