IOS : Utilisation SSKeyChain pour stocker les identifiants de l’utilisateurs

La librairie SSKeyChain est très pratique pour stocker sur IOS les identifiants / mots de passe de l'utilisateur de façon sécurisée (Ils restent dans le bac à sable de l'application)

Source : https://github.com/soffes/sskeychain

La librairie SSKeyChain est très pratique pour stocker sur IOS les identifiants / mots de passe de l'utilisateur de façon sécurisée (Ils restent dans le bac à sable de l'application)

Source : https://github.com/soffes/sskeychain

 

Utilisation : 

 

 

//

//  Auth.h

//  Opinion-Client

//

//  Created by Benoît Desnos on 22/02/13.

//  Copyright (c) 2013 Benoît Desnos. All rights reserved.

//

 

#import <Foundation/Foundation.h>

 

@interface Auth : NSObject

+(Auth*)sharedManager;

-(void) connecter:(NSString *) login motdepasse:(NSString *) password;

-(void) deconnecter;

-(NSString *) login;

-(NSString *) pass;

@end

 

 

 

 

//

//  Auth.m

//  Opinion-Client

//

//  Created by Benoît Desnos on 22/02/13.

//  Copyright (c) 2013 Benoît Desnos. All rights reserved.

//

 

#import "Auth.h"

#import "SSKeychain.h"

 

@implementation Auth

 

static Auth* sharedManager = nil;

 

+(Auth*)sharedManager

{

    @synchronized(sharedManager) {

        if (!sharedManager) {

            sharedManager = [[[self classallocinit];

        }

    }

    return sharedManager;

}

 

// Enregistrer le compte

-(void) connecter:(NSString *) login motdepasse:(NSString *) password

{

    [self deconnecter];

     

    [SSKeychain setPassword:password forService:@"Opinion" account:login];

}

 

// Supprimer le compte

-(void) deconnecter

{

    NSArray * accounts = [SSKeychain allAccounts];

    for(NSDictionary * account in accounts)

    {

        [SSKeychain deletePasswordForService:@"Opinion" account:[account valueForKey:@"acct"]];

    }

}

 

// Lire le login

-(NSString *) login

{

    if([SSKeychain accountsForService:@"Opinion"] != nil &&

       [[SSKeychain accountsForService:@"Opinion"count]>0)

        return [[[SSKeychain accountsForService:@"Opinion"objectAtIndex:0]valueForKey:kSSKeychainAccountKey];

    else

        return nil;

}

 

// Lire le mot de passe

-(NSString *) pass

{

    if([SSKeychain accountsForService:@"Opinion"] != nil &&

       [[SSKeychain accountsForService:@"Opinion"count]>0)

        return [SSKeychain passwordForService:@"Opinion" account:[[[SSKeychainaccountsForService:@"Opinion"objectAtIndex:0] valueForKey:kSSKeychainAccountKey]];

    else

        return nil;

}

 

@end

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.