(Objective-C) Windows Credentials Manager / Apple Keychain - Get a JSON Secret
On Windows, fetches the content of a JSON secret from the Windows Credentials Manager.
On MacOS or iOS, fetches from the Apple Keychain.
Note: This example requires Chilkat v10.1.0 or later. For more information, see https://cknotes.com/chilkat-secrets-class-added-in-version-10-1-0/
#import <CkoSecrets.h>
#import <CkoJsonObject.h>
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoSecrets *secrets = [[CkoSecrets alloc] init];
// On Windows, this is the Windows Credentials Manager
// On MacOS/iOS, it is the Apple Keychain
secrets.Location = @"local_manager";
// Specify the secret to be fetched.
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"appName" value: @"MyApp"];
[json UpdateString: @"service" value: @"OAuth2"];
[json UpdateString: @"domain" value: @"onedrive"];
[json UpdateString: @"username" value: @"matt"];
// Get the secret.
CkoJsonObject *jsonSecret = [[CkoJsonObject alloc] init];
BOOL success = [secrets GetSecretJson: json jsonOut: jsonSecret];
if (success == NO) {
NSLog(@"%@",secrets.LastErrorText);
return;
}
jsonSecret.EmitCompact = NO;
NSLog(@"%@",[jsonSecret Emit]);
NSLog(@"%@",@"Success.");
|