JWT (JSON Web Token) is an amazing technology, which makes network / API integration extremely easy and fast. This library allows you to get all benefits of JWT with only a few lines of code.
Add to your Podfile:
pod 'NKJWT', '~> 0.1'
NSString *token = @"xxxxxxxxxxxx";
NKJWT *jwt = [[NKJWT alloc] initWithJWT:token];
isValid = [jwt verifyWithKey:key];
or if you do not prefer stateless expressions:
NSString *token = @"xxxxxxxxxxxx";
NKJWT *jwt = [[NKJWT alloc] initWithJWT:token];
[jwt setKey:key];
isValid = [jwt verify];
NKJWT *jwt = [[NKJWT alloc] initWithJWT:token];
isValid = [jwt verifyWithKey:key];
NSDictionary *payload = jwt.payload;
NKJWT *jwt = [[NKJWT alloc] initWithPayload:payloadDictionary];
NKJWT *jwt = [[NKJWT alloc] initWithPayload:payloadDictionary];
[jwt signWithKey:key];
NSString *token = [jwt token];
or without stateless expressions:
NKJWT *jwt = [[NKJWT alloc] initWithPayload:payloadDictionary];
[jwt setKey:key];
[jwt sign];
NSString *token = [jwt token];
NKJWT *jwt = [[NKJWT alloc] initWithPayload:payloadDictionary];
[jwt signWithKey:key];
NSString *token = [jwt token];
[jwt setPayload:newPayloadDictionary];
[jwt signWithKey:key];
NSString *newToken = [jwt token];