• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 在 iOS 编程中使用 JWT 使用 Javascript 对象签名和加密 (JOSE) 进行加密?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 16:37:25 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试集成 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 界面中使用流畅的样式

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

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap