sql >> Databasteknik >  >> RDS >> Mysql

XCode, Authentication och NSUserDefaults

Du är ganska nära ditt tänkande. Jag använder en mycket liknande metod för min användarinloggningsprocess.

Jag saltar och hash för närvarande e-post och lösenord till 1 40 tecken token. Om inloggningen returneras framgångsrikt sparar jag token till NSUserDefaults. Jag använder denna token för alla andra webbförfrågningar framöver tills användaren loggar ut, då jag tar bort användarens standardinställningar.

Här är några utdrag som jag använder för samma process:

// see if a login already exists
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
self.token = [defaults stringForKey:@"token"];

// if the token is nil/blank, launch login view
if(self.token == nil || [self.token isEqualToString:@""]) {
    [self loadStartView];
    return;
}

// build the request to update status
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];
NSString *stringData = [NSString stringWithFormat:@"<your api string here"];
NSString *requestData = stringData;
NSData *myRequestData = [NSData dataWithBytes: [requestData UTF8String] length: [requestData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:[NSString  stringWithFormat:@"<your url request here>"]]];
[request setHTTPMethod: @"POST"];
[request setHTTPBody: myRequestData];
NSData *jsonData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil];
NSString *json = [[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding] autorelease];
NSDictionary *payloadData = [json JSONValue];

[request release];

if([[payloadData objectForKey:@"success"] boolValue]) { // this is designed around my api, but you get the idea
    //NSLog(@"updateStatus: %@", payloadData);
    // updates the api version for every call
    [defaults setObject:self.token forKey:@"token"];
}


  1. Hur man skapar en blogg i PHP och MySQL databas - Admin Posts

  2. Docker (Apple Silicon/M1 Preview) MySQL inget matchande manifest för linux/arm64/v8 i manifestlistposterna

  3. förenklat:mysqli num_rows fungerar inte

  4. oracle SQL plus hur man avslutar kommandot i SQL-fil?