Skip to content

timmedia/capacitor-strava-auth

Repository files navigation

@timmedia/capacitor-strava-auth

Use the Strava authentication API in your capacitor app. Works on iOS, Android and Web. On native platforms, the Strava app is opened if installed. If it is not installed, the web authorization page is opened instead. This plugin does not make use of a custom callback URL scheme. Instead, the page specified with redirectUri is opened in all cases after authorization is granted. Ensure that this URL is a deep link and handle the parameters accordingly (state, code and scope are passed).

For iOS, add strava in Info.plist under LSApplicationQueriesSchemes (array) to allow your app to open Strava.

More information is found in the Strava Authentication Developer guide. Do note that after successful authorization you still need to exchange the authorization code for an access token.

Install

npm install @timmedia/capacitor-strava-auth
npx cap sync

API

authorize(...)

authorize(options: StravaAuthOptions) => Promise<void>

Authorize using the Strava API to receive an authorization code.

Param Type
options StravaAuthOptions

Interfaces

StravaAuthOptions

Prop Type Description
clientId string Your App ID, found in the Strava settings.
redirectUri string URL to redirect to after authorization.
responseType 'code' Must be code, accorind to Strava docs.
approvalPrompt 'force' | 'auto' Force prompt again even if already authorized earlier.
scope StravaAuthScope See Strava Docs: {@link https://developers.strava.com/docs/authentication/#details-about-requesting-access}.
state string Returned as a parameter when redirected to redirectUri.

Enums

StravaAuthScope

Members Value
READ 'read'
READ_ALL 'read_all'
PROFILE_READ_ALL 'profile:read_all'
PROFILE_WRITE 'profile:write'
ACTIVITY_READ 'activity:read'
ACTIVITY_READ_ALL 'activity:read_all'
ACTIVITY_WRITE 'activity:write'