ExAzureCore.Credentials (ex_azure_core v0.3.0)

Copy Markdown

Azure credential types for authentication.

Provides credential types matching the Azure Python SDK:

  • AzureKeyCredential - Simple API key for Cognitive Services, Search, etc.
  • AzureSasCredential - SAS token for Azure Storage
  • AzureNamedKeyCredential - Account name + key pair for Storage, Cosmos DB

Usage with HTTP Plugins

alias ExAzureCore.Credentials

# API Key for Cognitive Services
{:ok, key_cred} = Credentials.key_credential("my-api-key")

Req.new(base_url: "https://myservice.cognitiveservices.azure.com")
|> ExAzureCore.Http.Plugins.ApiKey.attach(
  api_key: key_cred,
  header_name: "Ocp-Apim-Subscription-Key"
)

# SAS for Storage
{:ok, sas_cred} = Credentials.sas_credential("sv=2021-06-08&ss=b...")

Req.new(base_url: "https://myaccount.blob.core.windows.net")
|> ExAzureCore.Http.Plugins.SasToken.attach(sas_token: sas_cred)

# Named Key for Storage
{:ok, named_cred} = Credentials.named_key_credential("myaccount", "base64key==")

Req.new(base_url: "https://myaccount.blob.core.windows.net")
|> ExAzureCore.Http.Plugins.SharedKey.attach(named_key_credential: named_cred)

Summary

Functions

Creates a new API key credential.

Creates a new named key credential.

Creates a new SAS credential.

Functions

key_credential(key)

Creates a new API key credential.

Example

{:ok, credential} = ExAzureCore.Credentials.key_credential("my-secret-key")

named_key_credential(name, key)

Creates a new named key credential.

Example

{:ok, credential} = ExAzureCore.Credentials.named_key_credential("myaccount", "base64key==")

sas_credential(signature)

Creates a new SAS credential.

Example

{:ok, credential} = ExAzureCore.Credentials.sas_credential("sv=2021-06-08&ss=b...")