OGeek|极客世界-中国程序员成长平台

标题: ios - 在 iOS 编程中使用 JWT 使用 Javascript 对象签名和加密 (JOSE) 进行加密? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 16:37
标题: ios - 在 iOS 编程中使用 JWT 使用 Javascript 对象签名和加密 (JOSE) 进行加密?

我正在尝试集成 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-推荐答案


使用 JSON WEB TOKEN cocoa pods 示例解决了问题。

安装 cocoa pod :

pod "JWT"

要对 JWT 进行编码和解码,请在 JWTBuilder 界面中使用流畅的样式

您可以像这样对任意负载进行编码:

 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 enter image description here

关于ios - 在 iOS 编程中使用 JWT 使用 Javascript 对象签名和加密 (JOSE) 进行加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37322585/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4