本文へ移動
    hazBasehazBaseDocs
    IMPLEMENTATION GUIDE

    認証とウォレット

    ログイン、ウォレットの所有確認、操作の承認は役割が異なります。アプリケーションのセッションから必要な操作権限まで、段階を分けて扱います。

    認証と操作承認の流れ

    01Email OTP

    アプリにログイン

    02Passkey

    端末と高信頼認証

    03Account

    アカウント確認・準備

    04Authorization

    目的に合った操作承認

    メールOTPの成功はアプリケーションへのログインです。それだけでウォレット所有者の承認や、送金権限を得たことにはなりません。

    アプリセッションの開始

    sign-in.ts
    import { requestEmailOtp, verifyEmailOtp } from "@hazbase/auth";
    
    export async function requestCode(email: string) {
      return requestEmailOtp({ email, purpose: "smart_wallet_sign_in" });
    }
    
    export async function verifyCode(email: string, code: string) {
      return verifyEmailOtp({ email, code, purpose: "smart_wallet_sign_in" });
    }

    emailとcodeは利用者がフォームに入力した値を渡します。セッションを保存・更新する方法、許可Origin、パスキー設定はアプリの実装条件と合わせて確認してください。

    書き込みの前に確認する

    • emailSessionはBearerヘッダーへ渡すアプリセッションです。
    • deviceBindingIdとhighTrustTokenは利用者の認証フローで取得します。サンプルの固定値で代替できません。
    • 高信頼トークンは目的と有効期限が定められています。失効時は必要な操作に応じて再認証します。
    • ウォレットリンクでは、APIによる署名済み証明の検証まで行います。受け取ったアドレスだけを本人確認の根拠にしません。