AppProvider (@realm/ React )
項目一覧
- 機能
- AppProvider の構成
- AppProvider で使用されるフック
- useAuth()
- 結果
- logIn(credentials)
- logInWithAnyごと()
- logInWithApiKey(key)
- logInWithEmailPassword(credentials)
- logInWithJWT(認証情報)
- logInWithGoogle(credentials)
- logInWithApple(idToken)
- logInWithFacebook(accessToken)
- logInWithFunction(ペイロード)
- logOut()
- useEmailPasswordAuth()
- logIn(credentials)
- logOut()
- register(args)
- confirm(args)
- resendConfirmationEmail(args)
- retryCustomConfirmation(args)
- sendResetPasswordEmail(args)
- resetPassword(args)
- CallResetPasswordFunction(args,restArgs)
- useApp()
AppProvider(props, context?): null | ReactElement<any, any>
AppProvider
App Services AppAppProvider
{0 にネストされたコンポーネントは にアクセスし、 フックを使用できます。
機能
AppConfigurationのすべてのプロパティは、プロパティとしてAppProvider
に渡すことができます。
AppProvider の構成
アプリクライアントを設定するには、アプリ ID string をAppProvider
のid
プロンプトに渡します。 アプリにアクセスするために必要なコンポーネントをAppProvider
でラップします。
import React from 'react'; import {AppProvider} from '@realm/react'; function AppWrapper() { return ( <View> <AppProvider id={APP_ID}> <MyApp /> </AppProvider> </View> ); }
複数のアプリに接続するには、複数のアプリクライアントインスタンスを作成します。 同じアプリ ID を共有するすべてのアプリクライアント インスタンスは、同じ基礎の接続を使用します。
重要
アプリ初期化後のアプリ構成の変更
バージョンrealm@12.6.0
での変更: baseUrl
はキャッシュされません
App クライアントを初期化すると、構成は内部的にキャッシュされます。 同じプロセス内で変更された構成でアプリを「閉じ」、その後再度開かしようとしても効果はありません。 クライアントはキャッシュされた構成を引き続き使用します。
React Native SDK バージョン12.6.0 以降では、baseUrl
内のAppConfiguration
はキャッシュされ ません 。つまり、 baseUrl
を変更すると、アプリクライアントは更新された構成を使用します。 以前の SDK バージョンでは、キャッシュされたアプリ構成でbaseUrl
を変更しても効果はありません。
AppProvider で使用されるフック
useAuth()
useAuth(): UseAuth
useAuth
には、すべての App Services 認証プロバイダーの認証方法があります。
結果
result: AuthResult
認証フック操作 の結果。 たとえば、 result.operation
は現在の操作の名前を示します。
Enum values
state
。 「開始なし」、「保留中」、「成功」、「エラー」を指定できます。operation
。すべての操作名のリストについては、 API ドキュメント を参照してください。pending
。true
またはfalse
になります。success
。true
またはfalse
になります。error
。エラーベースのオブジェクトまたは未定義。
logIn(credentials)
logIn(credentials: Realm.Credentials): void
パラメーター
credentials
。サポートされている Realm 認証によって提供される Realm 認証情報。
例
Realm でサポートされている認証メカニズムを持つユーザーをログインします。 ユーザーがログインしたときに呼び出されると、現在のユーザーが新しいユーザーに切り替わります。 通常、より具体的なログイン方法を使用することをお勧めします。
const {logIn, result} = useAuth(); useEffect(() => logIn(Realm.Credentials.anonymous()), []); if(result.pending) { return (<LoadingSpinner/>) } if(result.error) { return (<ErrorComponent/>) } if(result.success) { return (<SuccessComponent/>) } //...
logInWithAnyごと()
logInWithAnonymous(): void
例
匿名認証プロバイダーにログインします。
const {logInWithAnonymous, result} = useAuth(); const performLogin = () => { logInWithAnonymous(); };
logInWithApiKey(key)
logInWithApiKey(key: string): void
パラメーター
key
。 App Services ユーザーにリンクされた string。
例
API キーでログインします。
const {logInWithApiKey, result} = useAuth(); const performLogin = () => { const key = getApiKey(); // user defined function logInWithApiKey(key); };
logInWithEmailPassword(credentials)
logInWithEmailPassword(credentials: { email: string; password: string; }): void
パラメーター
credentials
。email
とpassword
フィールドを持つオブジェクト。
例
メール/パスワードを使用してログインします。
const {logInWithEmailPassword, result} = useAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const performLogin = () => { logInWithEmailPassword({email, password}); };
logInWithJWT(認証情報)
logInWithJWT(token: string): void
パラメーター
credentials
。ユーザーのstring のJSON web token 表現。
例
JSON web token ( JSON web token )でログインします。
const {logInWithJWT, result} = useAuth(); const performLogin = () => { const token = authorizeWithCustomerProvider(); // user defined function logInWithJWT(token); };
logInWithGoogle(credentials)
logInWithGoogle(credentials: { idToken: string; } | { authCode: string; }): void;
パラメーター
credentials
。 Google Identity Services から取得した string トークンを含む必要があるidToken
またはauthCode
フィールドを持つオブジェクト。
例
Google でログインします。
const {logInWithGoogle, result} = useAuth(); const performLogin = () => { const token = getGoogleToken(); // user defined function logInWithGoogle({idToken: token}); };
logInWithApple(idToken)
logInWithApple(idToken: string): void;
パラメーター
idToken
。 Apple SDK から取得した string。
例
Apple でログインします。
const {logInWithApple, result} = useAuth(); const performLogin = () => { const token = getAppleToken(); // user defined function logInWithApple(token); };
logInWithFacebook(accessToken)
logInWithFacebook(accessToken: string): void;
パラメーター
accessToken
。 Facebook SDK から取得した string。
例
Facebook でログインします。
const {logInWithFacebook, result} = useAuth(); const performLogin = () => { const token = getFacebookToken(); // user defined function logInWithFacebook(token); };
logInWithFunction(ペイロード)
logInWithFunction<PayloadType extends Record<string, unknown>>(payload: PayloadType): void;
パラメーター
payload
。ログイン リクエストを処理する App Services 関数に渡すユーザー情報を含むオブジェクト。
例
カスタム関数でログインします。
const {logInWithFunction, result} = useAuth(); const performLogin = () => { const customPayload = getAuthParams(); // user defined arguments logInWithFunction(customPayload); };
logOut()
logOut(): void;
例
現在のユーザーをログアウトします。
const {logOut, result} = useEmailPasswordAuth(); const performLogout = () => { logOut(); }
useEmailPasswordAuth()
result: AuthResult
認証フック操作 の結果。 たとえば、 result.operation
は現在の操作の名前を示します。
Enum values
state
。 「開始なし」、「保留中」、「成功」、「エラー」を指定できます。operation
。すべての操作名のリストについては、 API ドキュメント を参照してください。pending
。true
またはfalse
になります。success
。true
またはfalse
になります。error
。エラーベースのオブジェクトまたは未定義。
logIn(credentials)
logIn(credentials: { email: string; password: string }): void;
パラメーター
credentials
。email
とpassword
プロパティを含むオブジェクト。
例
メールとパスワードを使用してユーザーをログインします。 logIn(Realm.Credentials.emailPassword(email, password))
を呼び出すこともできます。 ログインユーザーのRealm.User
インスタンスを返します。
const {logIn, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const performLogin = () => { logIn({email, password}); }; if(result.pending) { return (<LoadingSpinner/>) } if(result.error) { return (<ErrorComponent/>) } if(result.success) { return (<SuccessComponent/>) } //...
logOut()
logOut(): void;
例
現在のユーザーをログアウトします。
const {logOut, result} = useEmailPasswordAuth(); const performLogout = () => { logOut(); }
register(args)
register(args: { email: string; password: string }): void;
パラメーター
args
。email
とpassword
プロパティを含むオブジェクト。
例
新しいユーザーを登録します。 ユーザーのメールとパスワードが必要です。
const {register, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const performRegister = () => { register({email, password}); };
confirm(args)
confirm(args: { token: string; tokenId: string }): void;
パラメーター
args
。token
とtokenId
プロパティを含むオブジェクト。
例
ユーザー アカウントを確認します。 token
とtokenId
が必要です。
const {confirm, result} = useEmailPasswordAuth(); const performConfirmation = () => { confirm({token, tokenId}); };
resendConfirmationEmail(args)
resendConfirmationEmail(args: { email: string }): void;
パラメーター
args
。email
プロパティを含むオブジェクト。
例
確認メールを再送信します。
const {resendConfirmationEmail, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const performResendConfirmationEmail = () => { resendConfirmationEmail({email}); };
retryCustomConfirmation(args)
retryCustomConfirmation(args: { email: string }): void;
パラメーター
args
。email
プロパティを含むオブジェクト。
例
カスタム関数で確認を再試行します。
const {retryCustomConfirmation, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const performRetryCustomConfirmation = () => { retryCustomConfirmation({email}); };
sendResetPasswordEmail(args)
sendResetPasswordEmail(args: { email: string }): void;
パラメーター
args
。email
プロパティを含むオブジェクト。
例
パスワード リセット メールを送信します。
const {sendResetPasswordEmail, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const performSendResetPasswordEmail = () => { sendResetPasswordEmail({email}); };
resetPassword(args)
resetPassword(args: { token: string; tokenId: string; password: string }): void;
パラメーター
args
。token
、tokenId
、password
プロパティを含むオブジェクト。
例
ユーザーのパスワードをリセットします。
const {resetPassword, result} = useEmailPasswordAuth(); const [password, setPassword] = useState(''); const performResetPassword = () => { resetPassword({token, tokenId, password}); };
CallResetPasswordFunction(args,restArgs)
callResetPasswordFunction<Args extends unknown[] = []>( args: { email: string; password: string; }, ...restArgs: Args ): void;
パラメーター
args
。email
とpassword
プロパティを含むオブジェクト。restArgs
。カスタム リセット パスワード関数に渡す必要がある追加の引数。
例
App Services バックエンドのパスワード リセット機能を呼び出します。 必要に応じて、 関数に引数を渡すことができます。
const {callResetPasswordFunction, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const performResetPassword = () => { callResetPasswordFunction({email, password}, "extraArg1", "extraArg2"); };
useApp()
useApp<FunctionsFactoryType, CustomDataType>(): Realm.App<FunctionsFactoryType, CustomDataType>
例
useApp()
フックはRealm.Appインスタンスへのアクセスを提供します。
import React from 'react'; import {useApp} from '@realm/react';
function MyApp() { const app = useApp(); // Proceed to app logic... }
戻り値
Realm.App
AppProvider
によって作成された現在のRealm.App
のインスタンス。