1

我正在尝试将Javascript 对象签名和加密 (JOSE) jose与我的 iOS 应用程序集成。

引用此示例代码: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/ 但没有找到任何用于编码的库..所以我怀疑是否可以使用 JOSE 进行编码iOS与否?

4

1 回答 1

0

解决了JSON WEB TOKEN 可可豆荚示例的问题。

安装可可豆荚:

吊舱“智威汤逊”

要对 JWT 进行编码和解码,请使用带有 JWTBuilder 接口的流畅样式

  • (JWTBuilder *)encodePayload:(NSDictionary *)payload;
  • (JWTBuilder *)encodeClaimsSet:(JWTClaimsSet *)claimsSet;
  • (JWTBuilder *)decodeMessage:(NSString *)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 令牌将是这样的示例:

"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJVc2VySWQiOiI1NmY2YWUxYjYwZDc0MTBjZjRkOWU1YjMiLCJyZXF1ZXN0X3R5cGUIiOiIxIn0.AFK3zGF5HvIel2Qr0cNHmmS97zJmfolipuUK"

您可以在此处检查编码和解码值:

https://jwt.io/#debugger在此处输入图像描述

于 2016-05-20T10:13:20.590 回答