Skip to main content

IMSession Provider

プラットフォーム

  • ios
  • android

概要

セッション情報を都度確立するとiAP上でセッションの管理数が増加しパフォーマンス上の問題などが発生する可能性があります。
このような問題を避けるためにセッションの状態を一元管理するための便利な機能を提供します。

依存関係

info

Smartlimeは全てのProviderを包括しているため、Smartlimeが配置されている場合にはこの項目の内容は無視することができます。

IMSessionはIMOathに依存しています。
IMSessionを利用する場合は、常にIMOathと合わせて配置してください。

import { IMTenant, IMOAuth, IMSession } from "@intra-mart/smartlime";
import { DefaultAuthScreen } from "@intra-mart/smartlime-ui";

const App = () => {
return (
<IMTenant
baseUrl={'https://example.org/imart'}
tenantId={'default'}
>
<IMOAuth
requestConfig={
clientId: 'exampleId',
clientSecret: 'exampleSecret',
scopes: ['exampleScope'],
redirectUri: 'exp://example.org:19000',
}
>
<DefaultAuthScreen>
<IMSession>
</IMSession>
</DefaultAuthScreen>
</IMOAuth>;
</IMTenant>
)
}
caution

IMSession内部で利用されるアクセストークンはIMOAuthあるいはSmartlimeから取得されるため、これらのProviderが上位層に存在しない場合、IMSessionは常にエラーを返します。

Provider

このProviderはネストされたコンポーネントでSessionの機能を利用できるようにします。

import { IMSession } from "@intra-mart/smartlime";

const App = () => {
return (
<IMSession>
{/* content */}
</IMSession>;
)
}

Props

NameTypeRequiredDefault
sessionContextContextno

sessionContext

context instanceを設定します。
このPropを設定した場合、ネストされたコンポーネント全てで同じcontextを利用しなければならない事に注意してください。
あなたがcontextについて詳しく知らない場合このオプションは利用するべきではありません。