View Source AppStore.Token.Server (App Store v0.2.0)
A server for AppStore.Token
, generate and cache token.
Usage
iex> AppStore.Token.Server.start_link(%{
issuer_id: "57246542-96fe-1a63-e053-0824d011072a",
bundle_id: "com.example.testbundleid2021",
key: %{
id: "2X9R4HXF34",
pem: "-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----"
}
})
{:ok, server}
iex> AppStore.Token.Server.generate(server)
{:ok, "token", %{
...claims
}}
Summary
Functions
Returns a specification to start this module under a supervisor.
Generate a signed token and cache it for 59 minutes per the suggestion on Apple's documentation: Generating Tokens for API Requests
Start the server.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor
.
Generate a signed token and cache it for 59 minutes per the suggestion on Apple's documentation: Generating Tokens for API Requests
Example
iex> AppStore.Token.Server.generate(server)
{:ok,
"eyJhbGciOiJFUzI1NiIsImtpZCI6IjJYOVI0SFhGMzQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhcHBzdG9yZWNvbm5lY3QtdjEiLCJiaWQiOiJjb20uZXhhbXBsZS50ZXN0YnVuZGxlaWQyMDIxIiwiZXhwIjoxNjI5NzI1MDYwLCJpYXQiOjE2Mjk3MjE1MjAsImlzcyI6IjU3MjQ2NTQyLTk2ZmUtMWE2My1lMDUzLTA4MjRkMDExMDcyYSIsIm5vbmNlIjoiMnFldXU1bGg4cTlqZzhkaXBnMDAwMDAyIn0.p4-aBtXXQh3QUz1Ok2dpyuWkUiuk2BI9UCIB6AFs8M0eDyrVnEAPkIydVd_CKMN-VeMrsbL06mG6uW_kCx0TaQ",
%{
"aud" => "appstoreconnect-v1",
"bid" => "com.example.testbundleid2021",
"exp" => 1629725060,
"iat" => 1629721520,
"iss" => "57246542-96fe-1a63-e053-0824d011072a",
"nonce" => "2qeuu5lh8q9jg8dipg000002"
}
}
@spec start_link(AppStore.Token.Server.State.config()) :: :ignore | {:error, any()} | {:ok, pid()}
Start the server.
Example
iex> AppStore.Token.Server.start_link(%{
issuer_id: "57246542-96fe-1a63-e053-0824d011072a",
bundle_id: "com.example.testbundleid2021",
key: %{
id: "2X9R4HXF34",
pem: "-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----"
}
})
{:ok, #PID<0.328.0>}