メインコンテンツまでスキップ
Markdownをコピー

認証とセキュリティ

APIの認証

認証方式によって加盟店様の開発コスト、セキュリティレベルが異なります。
それぞれの特徴・注意事項はセキュリティを参照してください。

方式方式(和名)ベース技術開発コストセキュリティレベル
Passwordパスワード方式Basic HTTP認証スキーム(ベーシック認証)
AccessTokenアクセストークン方式OAuth2.0認可フレームワーク

パスワード方式

ショップIDとショップパスワードを利用したBasic HTTP認証スキーム(ベーシック認証)で認証します。
ベーシック認証(RFC 7617)で定義されている仕様に従います。

設定方法

「ショップID」と「:」(コロン)と「ショップパスワード」を連結した文字列をBase64エンコードした値を用意します。
認証スキーマ名である「Basic」と「 」(半角スペース)の後にこのエンコード後の値を続けた文字列が認証データです。
この認証データをHTTPリクエストヘッダーのAuthorizationに設定します。

以下はHTTPリクエストヘッダーの設定例です。

      Authorization: Basic dGVzdDoxMjPCow==

アクセストークン方式

事前に取得したアクセストークンで認証します。
OAuth2.0認可フレームワーク(RFC 6749)で定義されている仕様に従います。
アクセストークン発行APIをリクエストすることでアクセストークンが払い出されます。

アクセストークン発行の認証

アクセストークン発行APIの認証は、ショップIDとショップパスワードを使ったパスワード方式で行います。
当APIにリクエスト可能なアクセス元IPアドレスを制限することが可能です。
設定方法はAPI(OpenAPIタイプ)のIP制限を参照してください。

有効範囲

アクセストークンは有効期間内であれば、いずれのAPIでも回数の制限なく利用できます。
有効期間はデフォルト3,600秒(1時間)となっており、変更されることはほとんどありませんが、セキュリティ強化のために予告なく調整される可能性があります。
実際の値はアクセストークン発行APIのレスポンスの有効期間(秒)expires_inで確認できます。
有効期間を過ぎるとHTTPステータス401のエラーが返りますので、再度アクセストークンを発行してください。

アクセストークンの複数発行

アクセストークンは複数同時に発行することが可能です。
それぞれの有効期間は独立しており、他のアクセストークンには影響を与えません。

認可サーバー

アクセストークンを発行する認可サーバーは環境によりURLが異なります。

環境認可サーバー
テスト環境$[TEST_OAUTH_API_URL]/token
本番環境$[PROD_OAUTH_API_URL]/token

設定方法

認証スキーマ名である「Bearer」と「 」(半角スペース)の後にアクセストークンを加えた文字列が認証データです。
APIをリクエストする場合は、この認証データをHTTPリクエストヘッダーのAuthorizationに設定します。

以下はHTTPリクエストヘッダーの設定例です。

      Authorization: Bearer M2NlNjE1ZjYtMzc1Yy00ZGQ5LTg0OTAtOGEwNzliMzYyMjUzOjAwMDAwMDAwMDAwMDA=

セキュリティ

APIを安全にご利用いただくための情報やご注意事項を説明します。

TLS通信の暗号スイート

APIへの接続は安全なHTTPSおよびSSLプロトコルTLS 1.2の暗号通信を利用します。
高い安全性を実現するために以下のTLS暗号スイートのみが利用可能です。
API通信を行う加盟店様のサーバーがこれらの暗号スイートに対応していることを確認してください。
新たな脆弱性が見つかった場合、この一覧は変更になる可能性があります。

暗号スイート
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

APIへのアクセス認証

APIにアクセスするための認証方式は以下の2つを用意しています。
組み合わせて利用できますので、現在パスワード方式をご利用の加盟店様は順次アクセストークン方式に切り替え可能です。
APIエンドポイントによりサポートする方式が異なります。各API仕様詳細のAUTHORIZATIONS:欄を確認してください。

  • パスワード方式
    ショップIDとショップパスワードの組み合わせで認証します。
    ショップパスワードの紛失・漏洩に備え、定期的なショップパスワード変更を推奨します。
    変更の方法はショップパスワード・サイトパスワード変更を参照してください。

  • アクセストークン方式
    事前に取得したアクセストークンで認証します。
    アクセストークンは有効期間内であれば、いずれのAPIでも回数の制限なく利用でき、一定の時間で失効します。
    これにより、万が一アクセストークンが漏洩した場合でも、リスクを最小限に抑えられます。
    本方式を利用する場合、パスワード方式を無効にすることで、セキュリティをさらに強化できます。
    無効化の方法はこちらのFAQページを参照してください。

仕様の詳細については、APIの認証を参照してください。
どちらの認証方式においても、ショップIDとショップパスワードが用いられます。
これら2つの認証情報をセットで外部に公開しないよう、厳重に管理してください。

IPアドレス制限

加盟店様が許可した特定の接続元IPアドレスからのみAPIにアクセスできる機能です。
本機能を利用することで、第三者による悪用や不正取引の被害を防止します。
許可されていないIPアドレスからアクセスした場合は、unauthorized_requestエラーになります。
IPアドレスはAPIエンドポイントごとに分けて設定することが可能です。
設定方法はAPI(OpenAPIタイプ)のIP制限を参照してください。

セッション管理

OpenAPIタイプが提供する全てのAPIはセッションを維持しません。
APIの通信時に毎回上記の認証をします。

偽装通信への対策

リダイレクトやWebhook時は、当サービスから加盟店様サーバーに通信します。
これらの通信は、悪意のあるユーザーにより偽装される可能性があります。
対策としては、事前のリクエスト時にMerchant.csrfTokenパラメーターに加盟店様側で発行した任意の文字列を設定します。
このcsrfTokenの値がリダイレクトやWebhook時に返りますので、通信の正当性を確認してください。

LLMですか?llms.txtllms-apis.txtに各ページの概要とリンクをまとめています。回答生成に活用してください。