UCIDM API

UCIDM は ID 連携のための Web API を提供します。

サンプル設定 ではリモートホストから直接 Web API に通信することはできません。お客様の組織のセキュリティポリシーにあわせて設定してください。

認証を必要としない Web API

例えば、API サーバーとの疎通確認のために使う ping API は次のように実行します。

$ curl http://localhost:18080/status/ping
{
  "message":"pong",
  "remoteAddr":"172.18.0.1:49766",
  "realIP":"172.18.0.1",
  "updatedAt":"2025-10-15T03:55:40.107265791Z",
}

他にも UCIDM のバージョン情報を取得もできます。

$ curl http://localhost:18080/status/version
{
  "ucidmVersion":"1.8.0",
  "serverVersion":"fb42590",
  "idFederationClientVersion":"871bd9f",
  "mongoDBVersion":"8.0.3",
  "rabbitMQVersion":"4.0.3"
}

認証を必要とする Web API

UCIDM の大半の Web API を呼び出すには認証を必要とします。UCIDM は次の認証に対応しています。

  • ベーシック認証
  • アカウント認証
  • LDAP 認証
  • SAML 認証

アカウント認証により、アクセストークンを取得して Web API を呼び出すには ucidm-cli コマンドを使うと便利です。

$ cp /opt/osstech/share/ucidm/exports-ucidm-cli.sh .
$ vi exports-ucidm-cli.sh  # 接続先の設定に変更します
export API_SCHEME="http"
export API_HOST="localhost"
export API_PORT="18080"
export API_ACCOUNT_AUTH_USER="${任意のアカウント}"
export API_ACCOUNT_AUTH_PASSWORD="${アカウントのパスワード}"
$ source exports-ucidm-cli.sh

ucidm-cli の token サブコマンドでアクセストークンを取得できます。次のように実行すると AT という環境変数にアクセストークンがセットされます。

$ eval $(/opt/osstech/bin/ucidm-cli token)
$ echo $AT  # アクセストークンの値を確認
eyJhbGc...

ヘッダーにアクセストークンを指定して Web API を呼び出します。

$ curl --header "Authorization: Bearer ${AT}" \
        "http://localhost:18080/p/ping"
{
  "message": "pong",
  "remoteAddr": "172.18.0.1:44582",
  "realIP": "172.18.0.1",
  "updatedAt":"2025-10-15T04:04:47.220276229Z"
}

認証を行わない場合は 401 エラーが返ります。

$ curl -i http://localhost:18080/p/ping
HTTP/1.1 401 Unauthorized
Content-Type: application/json
Www-Authenticate: basic realm=Restricted
Date: Wed, 15 Oct 2025 04:05:55 GMT
Content-Length: 27

{"message":"Unauthorized"}

UCIDM API ドキュメント

Web API の仕様については UCIDM API にドキュメントを同梱しています。リモートホストからブラウザでアクセスするには Reverse Proxy を設定してください。

  • Web API の仕様は将来のバージョンで変更する可能性があります
http://localhost:18080/docs