2016-05-19 6 views
2

Javascript Object Signing and Encryption (JOSE) joseをMy iOS Appと統合しようとしています。iOSプログラミングでJWTを使用したJavascriptオブジェクトの署名と暗号化(JOSE)による暗号化?

参照This Sample code : hongkongkiwi/ObjectiveC-JOSE ..これを使用して、入力パラメータを暗号化された形式でサーバーに送信しようとしています。

いずれかがJOSEを統合している場合は、そのプロセスを提供してください。

現在、私は実装されています

http://popdevelop.com/2013/12/decode-json-web-token-jwt-in-ios-objective-c/ でもない、私は疑うencoding..SOための任意のライブラリが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を使用して復号化するためのスニペットを見つけましたiOSで可能かどうか

+0

だから、あなたはどんな障害物にヒットしたのですか?何がうまくいかない? – Thilo

+0

@Thilo私の更新を見つけてください..私は今質問を更新しました.. – Sujania

答えて

1

を解決しました。JSON WEB TOKENココアポッドサンプル。

とカカオポッドをインストール:JWTBuilderインターフェース

  • (JWTBuilder *)で流暢スタイルを使用、&デコードJWTsを符号化するために

    ポッド "JWT"

    encodePayload:(NSDictionary *)ペイロード。

  • (JWTBuilder *)encodeClaimsSet:(JWTClaimsSet *)claimsSet;
  • (JWTBuilder *)decodeMessage:(NSString *)message;

あなたはそうのような任意のペイロードをエンコードすることができます。

"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJVc2VySWQiOiI1NmY2YWUxYjYwZDc0MTBjZjRkOWU1YjMiLCJyZXF1ZXN0X3R5cGUiOiIxIn0.AFK3zGF5HvIEl2Qr0cNHmmS97zJmfolipuUKOGdJzUY"

NSDictionary *payload = @{@"foo" : @"bar"}; 
NSString *secret = @"your secret key"; 
id<JWTAlgorithm> algorithm = [JWTAlgorithmFactory algorithmByName:@"HS256"]; 

[JWTBuilder encodePayload:payload].secret(@"secret").algorithm(algorithm).encode; 

JWTのトークンは、このサンプルのようになります

あなたはここで、エンコードとデコードの値を確認することができます。

https://jwt.io/#debuggerenter image description here

関連する問題