GET v1/Authenticate/GetAppleAccessToken

Exchange an authorization code with Apple's authentication servers for an access token. This provides a six month token for accessing the Online Ordering application using Apple's "Sign In with Apple" authorization flow.

URI template

v1/Authenticate/GetAppleAccessToken?authCode={authCode}

Request Information

URI Parameters

NameDescriptionTypeAdditional information
authCode

An authorization code generated by Apple and provded to a mobile app by redirect.

string

Required

Body Parameters

None.

Response Information

Resource Description

A Http status code of 200 with access token, refresh token and id_token containing customer information base64 encoded are returned if exchange is successful. <br /> A Http status code of 404 if authorization code is not present in server cache (possibly expired and removed from cache). <br /> A Http status code of 403 if authorization code was retrieved but was already expired. <br /> A Http status code of 500 if access token refresh failed. <br /> A Http status code of 400 if request body is invalid.

AppleAccessTokenResponse
NameDescriptionTypeAdditional information
AccessToken

AccessToken

string

None.

ExpiresIn

ExpiresIn

integer

None.

IdToken

IdToken

string

None.

RefreshToken

RefreshToken

string

None.

Email

Email

string

None.

FirstName

FirstName

string

None.

LastName

LastName

string

None.

Message

Get or set the Message property

string

None.

IsSuccessful

Get or set the IsSuccessful

boolean

None.

ErrorCode

Get or set the ErrorCode

integer

None.

WarningMessage

Get or set the warning Message property

string

None.

Response Formats

application/json, text/json

Sample:
{
  "AccessToken": "sample string 1",
  "ExpiresIn": 2,
  "IdToken": "sample string 3",
  "RefreshToken": "sample string 4",
  "Email": "sample string 5",
  "FirstName": "sample string 6",
  "LastName": "sample string 7",
  "Message": "sample string 8",
  "IsSuccessful": true,
  "ErrorCode": 10,
  "WarningMessage": "sample string 11"
}

application/xml, text/xml

Sample:
<AppleAccessTokenResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Radiant.Order.Shared.Contracts.ServiceEntities.AppServices.Authenticate">
  <ErrorCode xmlns="http://schemas.datacontract.org/2004/07/Radiant.Order.Shared.Contracts.ServiceEntities">10</ErrorCode>
  <IsSuccessful xmlns="http://schemas.datacontract.org/2004/07/Radiant.Order.Shared.Contracts.ServiceEntities">true</IsSuccessful>
  <Message xmlns="http://schemas.datacontract.org/2004/07/Radiant.Order.Shared.Contracts.ServiceEntities">sample string 8</Message>
  <WarningMessage xmlns="http://schemas.datacontract.org/2004/07/Radiant.Order.Shared.Contracts.ServiceEntities">sample string 11</WarningMessage>
  <AccessToken>sample string 1</AccessToken>
  <Email>sample string 5</Email>
  <ExpiresIn>2</ExpiresIn>
  <FirstName>sample string 6</FirstName>
  <IdToken>sample string 3</IdToken>
  <LastName>sample string 7</LastName>
  <RefreshToken>sample string 4</RefreshToken>
</AppleAccessTokenResponse>