2016-05-19 49 views
2

我正在嘗試將Javascript Object Signing and Encryption (JOSE) jose與我的iOS應用程序集成。使用JavaScript對象簽名和加密(JOSE)和iOS編程中的JWT進行加密?

推薦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/ 但沒有找到encoding..SO我懷疑庫與JOSE編碼是可能與iOS或不?

+0

那你有沒有打任何障礙?什麼不行? – Thilo

+0

@Thilo請找到我的更新..我已經更新問題了.. – Sujania

回答

1

解決了問題JSON WEB TOKEN可可豆莢樣品。

安裝與可可豆莢:

莢 「智威湯遜」

要編碼&解碼JWTs,使用流暢的風格與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.eyJVc2VySWQiOiI1NmY2YWUxYjYwZDc0MTBjZjRkOWU1YjMiLCJyZXF1ZXN0X3R5cGUiOiIxIn0.AFK3zGF5HvIEl2Qr0cNHmmS97zJmfolipuUKOGdJzUY」

您可以在這裏查詢編碼和解碼值:

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