web-dev-qa-db-ja.com

応答ヘッダーでアクセストークンを共有しますか?

アクセストークン を共有する最良の方法は何ですか?ヘッダーでプレーンテキストとして共有しても大丈夫ですか、それとも調べなければなりませんか。 [〜#〜] jwt [〜#〜]

現在のワークフロー:

-> POST /api/login -d {**creds}
<- 201 [headers (including X-Access-Token)]
-> GET /api/secrets -H 'X-Access-Token: ""'

ヘッダーは現在、次の要素で構成されています。

X-Access-Token: <scope>::<uuid>::<expires_in>::<state>
4
A T

フェデレーションID(複数のサービスを使用する単一のマシン/人間)に対してこれを行う場合は、専用のシステムを使用します。

フェデレーションIDを正しく構築することは困難であり、適切に維持することを正当化するコアコンピテンシーになるためにビジネスにとって十分に重要である可能性は低いです。

SAML 2.0は広く展開およびサポートされているため、使用をお勧めします。多くの実装(Shibboleth/OpenSAMLを含む)が広範囲にわたってペンテストされています。

JWTはSAMLに非常に似ていますが、まだ発展途上であり、実装の不整合が原因で、デプロイを成功させるのにイライラすることがあります。

どちらも適切な暗号化技術に基づいており、安全にそれらを展開するには、基本的に効果的なキー管理に依存します。単一の秘密鍵を使用してSAMLアサーションまたはJWTトークンに過度の期間、大量のアサーション/トークンに署名したり、プレーンテキストのキーアクセスによるシステムの侵害の疑いがあると、すべてのフェデレーションサービスのセキュリティが侵害されます。

1
Alain O'Dea