カスタムクレデンシャル
カスタムOAuth アプリを使用するタイミング
Web フローではカスタムOAuth アプリの作成が必須です。 デスクトップフローではカスタムOAuth アプリの作成が必須です。
カスタムOAuth アプリでのデスクトップ認証
下記の手順に従って、カスタムOAuth アプリの資格情報を使用して認証します。カスタムOAuth アプリの作成 を参照してください。OAuth アクセストークンの取得およびリフレッシュ
次を設定して、接続してください。
- OAuthClientId:アプリケーション設定のクライアントID に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- CallbackURL:アプリの登録時に定義されたリダイレクトURL に設定。
- InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
- ApiVersion:接続するPCA API Server バージョンを設定。
- DefaultDataArea:接続するデータ領域を設定。
- DataCenter:接続するサーバーのDataCenter 名を設定。
- ProductCode:PCA 製品コード名を設定。
- InputModuleName:PCA InputSlip のInputModuleName を設定。
接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 本製品 はこれでOAuth プロセスを完了します。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- アクセストークンの期限が切れたときにはリフレッシュしてください。
- OAuthSettingsLocation にOAuth 値を保存し、接続の間に維持されるようにします。
カスタムOAuth アプリでのWeb 認証
Web アプリケーション経由で接続する場合は、PCA Accounting にカスタムOAuth アプリケーションを登録する必要があります。カスタムOAuth アプリの作成 を参照してください。それから本製品 を使用してOAuth トークンの値を取得および管理します。
OAuth アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
- OAuthClientId:アプリケーション設定のクライアントID に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- ApiVersion:接続するPCA API Server バージョンを設定。
- DefaultDataArea:接続するデータ領域を設定。
- DataCenter:接続するサーバーのDataCenter 名を設定。
- ProductCode:PCA 製品コード名を設定。
- InputModuleName:PCA InputSlip のInputModuleName を設定。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
-
GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL インプットをアプリケーション設定で指定したリダイレクトURI に設定します。
ストアドプロシージャがOAuth エンドポイントのURL を返します。
- URL を開き、ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
- GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、コールバックURL のクエリ文字列の"code" パラメータに設定します。
OAuth アクセストークンのリフレッシュ
InitiateOAuth をREFRESH に設定してOAuth アクセストークンの期限が切れたときに自動的にリフレッシュするか、RefreshOAuthAccessToken ストアドプロシージャを呼び出してトークンを手動でリフレッシュできます。
自動リフレッシュ
InitiateOAuth でトークンをリフレッシュするには、最初のデータ接続で次のように設定します。
- OAuthAccessToken:これをGetOAuthAccessToken によって返されたアクセストークンに設定します。
- InitiateOAuth:REFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
- OAuthSettingsLocation:本製品 がOAuth 値を保存する場所のパスを設定し、接続の間に維持されるようにします。
- OAuthClientId:アプリケーション設定のクライアントID に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- OAuthRefreshToken:これをGetOAuthAccessToken によって返されたリフレッシュトークンに設定します。
- ApiVersion:接続するPCA API Server バージョンを設定。
- DefaultDataArea:接続するデータ領域を設定。
- DataCenter:接続するサーバーのDataCenter 名を設定。
- ProductCode:PCA 製品コード名を設定。
- InputModuleName:PCA InputSlip のInputModuleName を設定。
その後のデータ接続では、次を設定します。
- InitiateOAuth
- OAuthSettingsLocation
- ApiVersion
- DefaultDataArea
- DataCenter
- ProductCode
- InputModuleName
手動でリフレッシュ
RefreshOAuthAccessToken ストアドプロシージャを使用してOAuthAccessToken を手動でリフレッシュできます。GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後にストアドプロシージャを呼び出します。以下の接続プロパティが設定されている必要があります。
- OAuthClientId:アプリケーション設定のクライアントID に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- ApiVersion:接続するPCA API Server バージョンを設定。
- DefaultDataArea:接続するデータ領域を設定。
- DataCenter:接続するサーバーのDataCenter 名を設定。
- ProductCode:PCA 製品コード名を設定。
- InputModuleName:PCA InputSlip のInputModuleName を設定。
次のパラメータセットを使用してRefreshOAuthAccessToken を呼び出すことができます。
- OAuthRefreshToken:これをGetOAuthAccessToken によって返されたOAuthRefreshToken に設定します。