RingCentral.OAuth (RingCentral v0.2.2) View Source
The main module for the Authorization flow
Link to this section Summary
Functions
Get the URL for initializing the OAuth 2.0 authorizaiton flow.
Get the access token and refresh token.
Revokes access/refresh token.
Link to this section Functions
Specs
authorize(RingCentral.t(), map()) :: {:error, RingCentral.Error.t()} | {:ok, String.t()}
Get the URL for initializing the OAuth 2.0 authorizaiton flow.
params
is a map contains the options described in
the official documentation
Example
ringcentral = %RingCentral{
client_id: "the-client-id",
client_secret: "the-client-secret",
http_client: RingCentral.HTTPClient.DefaultClient,
server_url: "https://platform.ringcentral.com",
token_info: nil
}
{:ok, authorization_url} = RingCentral.OAuth.authorize(ringcentral, %{
response_type: "code",
redirect_uri: "https://ringcentral-elixir.test"
})
# {:ok, "https://service.ringcentral.com/..."}
Specs
get_token(RingCentral.t(), map()) :: {:error, RingCentral.Error.t()} | {:ok, map()}
Get the access token and refresh token.
params
is a map contains the options described in
the official documentation
Example
ringcentral = %RingCentral{
client_id: "the-client-id",
client_secret: "the-client-secret",
http_client: RingCentral.HTTPClient.DefaultClient,
server_url: "https://platform.ringcentral.com",
token_info: nil
}
{:ok, token_info} = RingCentral.OAuth.get_token(ringcentral, %{
grant_type: "authorization_code",
code: "U0pDMDFQMDRQQVMwMnxBQUFGTVUyYURGYi0wUEhEZ2VLeGFiamFvZlNMQlZ5TExBUHBlZVpTSVlhWk",
redirect_uri: "https://ringcentral-elixir.test"
})
# {:ok, %{"access_token": "...", "token_type": "bearer", "refresh_token": "..."}}
Specs
revoke_token(RingCentral.t(), String.t()) :: {:error, RingCentral.Error.t()} | :ok
Revokes access/refresh token.
token
is the active access or refresh token to be revoked,
see the official documentation for more information.
Example
ringcentral = %RingCentral{
client_id: "the-client-id",
client_secret: "the-client-secret",
http_client: RingCentral.HTTPClient.DefaultClient,
server_url: "https://platform.ringcentral.com",
token_info: nil
}
RingCentral.OAuth.revoke_token(ringcentral, "U0pDMDFQMDFKV1MwMXwJ_W7L1fG4eGXBW9Pp-otywzriCw")
# :ok