カスタムOAuth アプリの作成
カスタムOAuth アプリケーションを作成するタイミング
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスアプリケーションから接続する際に使用できます。以下の場合はユーザー自身のOAuth アプリケーションクレデンシャルを選択できます。
- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
カスタムアプリの作成
https://integrate.37signals.com にログインしてアプリケーションを登録し、OAuth クライアントクレデンシャルであるOAuthClientId、およびOAuthClientSecret を取得する必要があります。CallbackURL の設定も必要です。
デスクトップアプリケーションを作成する場合は、アプリケーション設定のリダイレクトURL を http://localhost:33333 か任意の別のポート番号に設定してください。Web アプリケーションを構築している場合、アプリケーション設定のリダイレクトURL を、アプリケーションの認証後にユーザーに戻ってほしいWeb アプリケーションのページにに設定してください。 アプリケーション設定のリダイレクトURL を http://localhost:33333 か任意の別のポート番号に設定してください。
デスクトップアプリケーションでHighrise へ認証
次の接続プロパティを設定して、接続してください。
- InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使って、OAuth 交換や手動でのOAuthAccessToken 接続プロパティの設定を繰り返すことを避けられます。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- CallbackURL:アプリケーション設定で指定したリダイレクトURL に設定。
- AccountId:これは、Highrise へのログイン後にURL からコピーしてください。例えば、インスタンスURL がhttps://MyInstance12345.highrisehq.com/ の場合は、AccountId プロパティを' MyInstance12345 ' に設定します。
接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。本製品 がOAuth プロセスを完了します。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- アクセストークンの期限が切れたときにはリフレッシュしてください。
- OAuth 値をOAuthSettingsLocation に保存します。これらの値は接続間で永続化されます。
Web アプリケーションからHighrise へ認証
次の接続プロパティを設定し、アクセストークンを取得します。
- OAuthClientId:アプリケーション設定のクライアントId に設定。
- OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
- CallbackURL:これをWeb アプリケーション上のユーザーの認証後にリダイレクトするページに設定してください。
Web アプリケーションから接続する場合、または本製品 にブラウザウィンドウを開く権限がない場合は、verifier code とOAuthAccessToken を交換する必要があります。
- GetOAuthAuthorizationURL を呼び出します。ストアドプロシージャがOAuth エンドポイントのURL を返します。
- ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
- verifier code をCallbackURL の"code" クエリ文字列パラメータから取得して、GetOAuthAccessToken を呼び出します。