Sample code for 30+ languages & platforms
Objective-C

Configure Azure SAS Authentication for REST

See more REST Examples

Demonstrates Rest.SetAuthAzureSas, which associates an AuthAzureSAS provider so requests are authorized with an Azure Shared Access Signature token.

Background. A SAS token grants time-limited, permission-scoped access to Azure Storage resources without exposing the account key on the wire. Use SAS authorization when a query-token approach is preferred over Shared Key headers.

Chilkat Objective-C Downloads

Objective-C
#import <CkoRest.h>
#import <CkoAuthAzureSAS.h>
#import <NSString.h>

BOOL success = NO;

CkoRest *rest = [[CkoRest alloc] init];
BOOL bTls = YES;
BOOL bAutoReconnect = YES;
success = [rest Connect: @"example.com" port: [NSNumber numberWithInt: 443] tls: bTls autoReconnect: bAutoReconnect];
if (success == NO) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

//  Configure Azure Shared Access Signature (SAS) authentication.  Provide the account access key
//  and the SAS token query parameters; Chilkat adds the SAS token to each request.
CkoAuthAzureSAS *azSas = [[CkoAuthAzureSAS alloc] init];
//  Normally you would not hard-code secrets in source.  You should instead obtain them from an
//  interactive prompt, environment variable, or a secrets vault.
azSas.AccessKey = @"BASE64_ACCOUNT_ACCESS_KEY";

//  Associate the provider with the REST object.
success = [rest SetAuthAzureSas: azSas];
if (success == NO) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

NSString *responseText = [rest FullRequestNoBody: @"GET" uriPath: @"/mycontainer/myblob.txt"];
if (rest.LastMethodSuccess == NO) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

NSLog(@"%@",responseText);