技能 编程开发 本地 Persona 开发沙箱环境设置

本地 Persona 开发沙箱环境设置

v20260423
persona-local-dev-loop
本文档提供了在受控沙箱环境中进行 Persona 身份验证服务开发和测试的完整流程。内容涵盖设置本地环境、使用 ngrok 暴露 Webhook、通过 API 创建测试查询,以及模拟 API 响应,确保开发过程的完整性与可重复性。
获取技能
155 次下载
概览

persona local dev loop | sed 's/\b(.)/\u\1/g'

Overview

Sandbox testing with test inquiry templates, ngrok tunnel for webhook testing, mock API responses for CI.

Prerequisites

  • Completed persona-install-auth setup
  • Valid Persona API key (sandbox or production)

Instructions

Step 1: Set Up Sandbox Environment

set -euo pipefail
# Use sandbox API key for all development
echo 'PERSONA_API_KEY=persona_sandbox_xxxxxxxx' > .env
echo 'PERSONA_API_VERSION=2023-01-05' >> .env

Step 2: Expose Local Webhooks with ngrok

# Terminal 1: Start your webhook server
npm run dev  # localhost:3000

# Terminal 2: Tunnel with ngrok
ngrok http 3000
# Copy the HTTPS URL and configure in Persona Dashboard > Webhooks

Step 3: Create Test Inquiries

import os, requests

HEADERS = {
    "Authorization": f"Bearer {os.environ['PERSONA_API_KEY']}",
    "Persona-Version": "2023-01-05",
}

# Create inquiry with sandbox template
resp = requests.post("https://withpersona.com/api/v1/inquiries", headers=HEADERS, json={
    "data": {
        "attributes": {
            "inquiry-template-id": "itmpl_YOUR_SANDBOX_TEMPLATE",
            "reference-id": f"test-{int(time.time())}",
        }
    }
})
print(f"Test inquiry: {resp.json()['data']['id']}")

Step 4: Mock API Responses for CI

import { vi } from 'vitest';

const mockPersonaApi = {
  createInquiry: vi.fn().mockResolvedValue({
    data: { id: 'inq_test_123', attributes: { status: 'created', 'session-token': 'tok_xxx' } },
  }),
  getInquiry: vi.fn().mockResolvedValue({
    data: { id: 'inq_test_123', attributes: { status: 'completed' } },
  }),
};

Output

  • Sandbox environment configured for development
  • ngrok tunnel for webhook testing
  • Test inquiry creation workflow
  • Mock API responses for unit tests

Error Handling

Error Cause Solution
Webhook not received ngrok URL not configured Update webhook URL in Dashboard
Sandbox key rejected Using production key Verify key starts with persona_sandbox_
Template not found Wrong environment Templates are per-environment

Resources

Next Steps

Apply SDK patterns: persona-sdk-patterns

信息
Category 编程开发
Name persona-local-dev-loop
版本 v20260423
大小 2.8KB
更新时间 2026-04-28
语言