Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

digital-go-jp/yamano-akashi-vc-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yamano-Akashi VC仕様

本リポジトリは、Yamano-Akashi(山のあかし)バックエンドにおける Verifiable Credential(VC)連携の公開仕様をまとめたものです。
なお、本リポジトリは、デジタル庁が令和7年度に実施したマイナンバーカード活用の実証事業(※)で構築したものでありますが、その活用使途について、登山に限定されるものではなく、他の観光資源の有用活用や、デジタルコミュニティ創造による地域活性化等、広く活用可能なものであることから、ここで公開します。
※ 北アルプス・八ヶ岳エリアで登山者を対象としたマイナンバーカードを活用した自然公園エコシステムに関する実証実験を実施します|デジタル庁

主に以下を提供します。

  • VC-Data API の OpenAPI 仕様
  • 仕様書(日本語、Markdown/PDF)
  • 実装から抽象化した参照コード(reference/
  • API 利用サンプル(examples/

スコープ

このリポジトリに含まれるもの

  • Yamano-Akashi バックエンドが提供する VC-Data API の仕様
  • VC 属性定義、verification_count 算出ロジック、システム構成説明
  • 実装参照用の Python コード(依存箇所を抽象化)

このリポジトリに含まれないもの

  • 認証基盤・ウォレットアプリの実装
  • OID4VCI / OID4VP の実稼働エンドポイント実装

Note

docs/oid4vci-issuance-flow.mddocs/oid4vp-presentation-flow.mddocs/protocol-standards.md は、連携理解のための参考仕様です。


クイックスタート

git clone https://github.com/digital-go-jp/yamano-akashi-vc-spec.git
cd yamano-akashi-vc-spec

1) API仕様を確認する

  • OpenAPI: openapi.yaml
  • API詳細: docs/api-interface-spec.md
# OpenAPI ドキュメントを HTML に変換して表示(Node.js が必要)
npx @redocly/cli build-docs openapi.yaml
open redoc-static.html   # macOS の場合

2) Docker で参照実装を起動する

# 1. 環境変数ファイルを作成
cp .env.example .env
# .env を編集して必要な値を設定してください

# 2. Dockerイメージをビルド
docker build -t yamano-akashi-vc-ref ./reference

# 3. コンテナを起動
docker run -p 8000:8000 \
  --env-file .env \
  yamano-akashi-vc-ref

# 4. 動作確認
curl http://localhost:8000/health

Warning

reference/ は実装参照用のコードであり、アプリエントリポイント(main.py 等)や DB 接続設定は含まれていません。上記手順で動作させるには、これらを自前で実装・補完する必要があります。examples/docker-compose.example.yml も併せて参照してください。

3) サンプルを使って呼び出す

  • curl: examples/curl_examples.sh
  • Python: examples/python_client.py

どちらもプレースホルダー(https://api.example.comYOUR_API_TOKEN)を実環境値に置き換えて利用してください。


API概要(VC-Data API)

  • エンドポイント: POST /v1/auth-platform/vc-data
  • 認証: Bearer Token
  • Content-Type: application/x-www-form-urlencoded
  • vctype:
    • climb(入山準備VC)
    • donation(寄付VC)
  • レスポンス方針:
    • 認証エラー(401)・設定エラー(500)を除き、HTTP は 200
    • ビジネスエラーはレスポンスボディ(userMessage など)で表現

詳細は openapi.yaml および docs/api-interface-spec.md を参照してください。


ドキュメント一覧

ファイル 内容
docs/api-interface-spec.md VC-Data API インターフェース仕様
docs/vc-attribute-spec.md VC属性スキーマ定義
docs/verification-count.md verification_count 算出ロジック
docs/system-architecture.md システム構成・連携概要
docs/oid4vci-issuance-flow.md 参考: OID4VCI 発行フロー
docs/oid4vp-presentation-flow.md 参考: OID4VP 提示フロー
docs/protocol-standards.md 参考: 関連プロトコル標準

各ドキュメントの PDF 版は docs/*.pdf に同梱しています。


リポジトリ構成

yamano-akashi-vc-spec/
├── .gitignore
├── README.md
├── LICENSE
├── openapi.yaml
├── docs/
│   ├── *.md / *.pdf
│   ├── images/
│   └── mermaid/
├── examples/
│   ├── curl_examples.sh
│   ├── python_client.py
│   └── docker-compose.example.yml
└── reference/
    ├── Dockerfile
    ├── requirements.txt
    ├── interfaces.py
    ├── models.py
    ├── schemas.py
    └── routers/
        ├── vc_data.py
        └── verification.py

reference/ の位置づけ

reference/ は、Yamano-Akashi バックエンド実装から抽象化した参照コードです。以下の性質があります。

  • ベンダー依存の認証・暗号化処理はインターフェース化
  • 実運用向け設定や一部依存モジュール(例: DB 接続やアプリエントリポイント)は省略
  • そのまま本番利用することを目的とした配布物ではない

examples/docker-compose.example.yml は、ローカル検証時の構成サンプル(プレースホルダー付き)です。


セキュリティ上の注意

  • APIトークン、DB接続情報などの機密値はリポジトリにコミットしないでください。
  • サンプル内プレースホルダーは必ず実運用値へ置換してください。

コントリビューション方針

本リポジトリは実証実験成果の公開と参照資料提供を目的としているため、原則としてバグ報告・機能改善の受付は行っていません。


ライセンス

本リポジトリは MIT License の下で公開されています。

Copyright (c) 2026 デジタル庁

About

Yamano-Akashi(山のあかし)バックエンドにおける Verifiable Credential(VC)連携の公開仕様

Topics

Resources

License

Stars

Watchers

Forks

Contributors