rn-auth
Expo認証フローの実装
Expo認証は、OAuthリダイレクト、トークン保存、ルートガードをアプリとバックエンド全体で整合させる必要があるため、失敗しがちです。このスキルは、Googleサインイン、安全なトークン処理、保護されたルート、バックエンドでのトークン検証に関する具体的なReact Nativeパターンを提供します。
自分のエージェントでインストール
このリクエストをエージェントにコピーしてください。正規の Skill ページとマニフェストが含まれています。
Review the Skillstore skill "rn-auth" from https://skillstore.io/skills/cjharmath-rn-auth.md and its manifest at https://skillstore.io/api/skills/cjharmath-rn-auth/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.エージェントは引き続き計画を提示し、セキュリティポリシーで必要な確認を求める必要があります。
エージェントが読めるリソース
AI エージェント、クローラー、スクリプトがページ全体ではなく整理されたコンテキストを必要とする場合は、これらのリンクを使ってください。
テストする
「rn-auth」を使用しています。 ExpoアプリにGoogleログインが必要です。
期待される結果:
AuthSessionのインポート、maybeCompleteAuthSessionの配置、クライアントID、スコープ、リダイレクトURIチェックを含む設定計画。
「rn-auth」を使用しています。 アプリを再起動するとユーザー情報が失われます。
期待される結果:
安全なトークン保存、起動時の復元、バックエンド検証、ログアウト時のクリーンアップに焦点を当てたセッション永続化レビュー。
「rn-auth」を使用しています。 Googleサインインのバックエンドトークン検証に失敗します。
期待される結果:
WebクライアントID、Googleトークン検証、返されるユーザーフィールド、よくあるクライアントIDの間違いを確認する検証チェックリスト。
セキュリティ監査
安全The static findings are false positives caused by Markdown inline code, fenced code examples, JavaScript template literals, and normal sample networking patterns. I found no prompt injection, malicious intent, credential exfiltration, or skill-executed commands in SKILL.md.
リスク要因
⚙️ 外部コマンド (23)
🌐 ネットワークアクセス (2)
🔑 環境変数 (2)
このレポートを共有・引用
バージョン付き評価レポート、中立的なバッジ、埋め込みカード、引用を共有できます。Skillstore は証拠を報告しますが、この Skill が安全かどうかは判断しません。
レポートリンクをコピー
https://skillstore.io/skills/cjharmath-rn-auth/audits/7?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdownバッジ
[](https://skillstore.io/skills/cjharmath-rn-auth?utm_source=security_passport_badge)HTMLバッジ
<a href="https://skillstore.io/skills/cjharmath-rn-auth?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/cjharmath-rn-auth/security.svg" alt="Skillstore security assessment" loading="lazy"></a>埋め込みカード
<iframe src="https://skillstore.io/embed/skills/cjharmath-rn-auth.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>学術引用 (APA · BibTeX · CFF)
APA形式の引用
CJHarmath. (2026). rn-auth security audit report (audit version 7) [Author version unspecified]. Skillstore. https://skillstore.io/skills/cjharmath-rn-auth/audits/7BibTeX形式の引用
@techreport{cjharmath-cjharmath-rn-auth-2026,
author = {CJHarmath},
title = {rn-auth security audit report (audit version 7)},
institution = {Skillstore},
year = {2026},
number = {7},
url = {https://skillstore.io/skills/cjharmath-rn-auth/audits/7},
note = {Author version unspecified}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "rn-auth security audit report (audit version 7)"
version: "unspecified"
type: report
authors:
- name: "CJHarmath"
date-released: "2026-07-06"
url: "https://skillstore.io/skills/cjharmath-rn-auth/audits/7"
identifiers:
- type: other
value: "skillstore:cjharmath-rn-auth:audit:7"
description: "Skillstore immutable audit report identifier"
Skillstore スコア
このスコアの理由 証拠の信頼度: 高作成できるもの
ExpoにGoogleサインインを追加する
AuthSessionパターンを使用して、ExpoアプリのクライアントID、スコープ、リダイレクト処理を設定します。
アプリのルートを保護する
認証コンテキストとExpo Routerの例を適用して、セッション状態に基づいてユーザーをリダイレクトします。
バックエンドでトークンを検証する
FastAPIリファレンスを使用して、正しいWebクライアントIDでGoogle IDトークンを検証します。
これらのプロンプトを試す
このスキルを使用して、私のExpo React NativeアプリでGoogleログインに必要なファイルと手順を整理してください。
このスキルを使用して、expo-secure-storeを使った私のExpoアプリ向けの安全なアクセストークンとリフレッシュトークンの保存方法を設計してください。
このスキルを使用して、私のExpo Googleサインインがブラウザを開くもののアプリに戻らない理由を診断してください。
このスキルを使用して、私のExpo認証フロー、保護されたルート、トークン更新計画、バックエンドでのGoogleトークン検証アプローチをレビューしてください。
ベストプラクティス
- AsyncStorageではなくexpo-secure-storeでトークンを保存します。
- セッションを復元する前に、保存済みトークンをバックエンドで検証します。
- OAuthクライアントIDとリダイレクトスキームを、Expoとプロバイダー設定全体で一致させます。
回避
- バックエンドでのGoogleトークン検証にiOSクライアントIDを使用すること。
- 保存済みトークンをバックエンドで確認せずに信頼すること。
- スタンドアロンビルドのリダイレクトURIを無視して、Expo Goだけでテストすること。