IMOAuth Provider
プラットフォーム
- ios
- android
概要
IMOAtuhはiAPとの煩雑なOAuth連携を簡略化する事を目的としています。
あなたのiAPの情報を設定する事で、認可及びその状態の管理するための便利な機能を提供します。
依存関係
IMOAtuhはIMTenantに依存しています。
IMOAtuhを利用する場合は、常にIMTenantと合わせて配置してください。
import { IMTenant, IMOAuth } from "@intra-mart/smartlime";
const App = () => {
return (
<IMTenant
baseUrl={'https://example.org/imart'}
tenantId={'default'}
>
<IMOAuth>
</IMOAuth>;
</IMTenant>
)
}
Provider
このProviderはネストされたコンポーネントでOAuthの機能を利用できるようにします。
import { IMOAuth } from "@intra-mart/smartlime";
<IMOAuth
requestConfig={
clientId: 'exampleId',
clientSecret: 'exampleSecret',
scopes: ['exampleScope'],
redirectUri: 'exp://example.org:19000',
}
>
{/* content */}
</IMOAuth>;
Props
Name | Type | Required | Default |
---|---|---|---|
requestConfig | RequestConfig | yes | |
storageKey | string | no | @example:IMAuthKey |
remainingTimeToRunRefresh | number | no | 360000 |
oauthContext | Context | no |
requestConfig
あなたのiAPのOAuthの設定情報を設定することができます。
Name | Type | Required | Default |
---|---|---|---|
redirectUri | string | yes | |
clientId | string | yes | |
clientSecret | string | yes | |
scopes | string[] | yes | |
state | context | no | |
prompt | Prompt | no | Login |
redirectUriの生成にはexpoのAuthSession.makeRedirectUri()を利用できます。
prompt
認可を行う際にユーザに都度ログインを求めるかどうかを制御するためのpropです。
Loginが指定された場合、ユーザは常にログインを求められます。
Noneが指定された場合、以前のログイン情報が残ってればその情報が引き続き利用されます。
storageKey
IMOAuthはアクセストークンの取得や更新時にstorageKeyに渡された値でアクセストークンをSecureStoreに保存します。
このPropはオプショナルですが、常に一意な値を設定する事を推奨します。
別の場所でIMOAuthを利用した場合などに、storageKeyが重複するとアクセストークンの整合性が取れずにエラーが発生する可能性があります。
remainingTimeToRunRefresh
トークンの更新を行う時間間隔を設定する事できます。
最初のRenderやgetTokenAsyncが呼び出された時に、設定された時間を超過しているとIMOAuthはアクセストークンの更新を行います。
時間経過で自動的に更新を行うオプションではない事に注意してください。
oauthContext
context instanceを設定します。
このPropを設定した場合、ネストされたコンポーネント全てで同じcontextを利用しなければならない事に注意してください。
あなたがcontextについて詳しく知らない場合このオプションは利用するべきではありません。