問題タブ [clientcredential]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
27 参照

node.js - Node.js でのクライアント資格情報フローのスコープの記述順序と関係がありますか?

Cerner EHR から患者の詳細を取得する API を呼び出そうとしています。システムベースの SMART アプリを使用しています。しかし、それを呼び出そうとすると、エラーが発生します

無効なスコープ。
「スコープ」:「システム/Observation.write システム/Patient.read システム/Patient.write システム/Observation.read」

私は郵便配達員でこれを試しましたが、CURL は両方とも完全に正常に動作します。

しかし、スコープを指定する場合、'scope':'system/Patient.write system/Patient.read system/Observation.write system/Observation.read'つまり、system/Patient.write または他のスコープを最初のスコープとして指定すると、患者の詳細を取得できません。system/Patient.read を最初のスコープ自体として指定する必要があります。患者の詳細を読むことができます。ここでスコープの順序が重要な理由がわかりません。

アクセス トークンを取得するためのコードは次のとおりです。

この後、関数を呼び出して患者の詳細を取得します。関数コードは以下のとおりです。

しかし、エラーは次のように表示されます:

データ: { resourceType: 'OperationOutcome', issue: [ { 重大度: 'エラー', コード: '禁止', 診断: 'ベアラー レルム="fhir-ehr-code.cerner.com", エラー="insufficient_scope"',式: [ 'http.Authorization' ] } ] }

しかし、スコープを次のように変更してアクセストークンを取得している場合:

system/Patient.read次に、スコープの先頭にスコープを追加したので、患者の詳細を取得します。

この SMART アプリのバックエンドとして Node.js を使用していますが、Node.js の初心者なので、API を呼び出す際にスコープの順序が重要である理由がわかりません。誰もこれを知っていますか?