0

SCIM コア スキーマには、ユーザーの写真の URL を保持するために定義された単純な多値属性 "photos" があります。

UnboundID データ ストアの構成ディレクトリで、scim-resources.xml ファイルの User リソースの下に次のコメント アウトがあります。

<!-- Mapping must be defined to use this attribute
<attribute name="photos" schema="urn:scim:schemas:core:1.0"
           readOnly="false" required="false">
  <description>URL of photos of the User</description>
  <simpleMultiValued childName="photo" dataType="string">
    <canonicalValue name="photo"/>
    <canonicalValue name="thumbnail"/>
  </simpleMultiValued>
</attribute>
-->

仕様のさらに下には、出力例があります。

"photos": [
  {
    "value": "https://photos.example.com/profilephoto/72930000000Ccne/F",
    "type": "photo"
  },
  {
    "value": "https://photos.example.com/profilephoto/72930000000Ccne/T",
    "type": "thumbnail"
  }
],

jpegPhoto 属性が入力されたユーザー エントリがあります。質問:

  1. UnboundID には、これらの写真にアクセスするためのエンドポイントが既に定義されていますか? jpegPhoto のエンコードされたバイナリ文字列値だけは必要ありません
  2. そのようなエンドポイントが存在する場合 (または作成した場合)、変換クラスを記述して、要素<subMapping>の子要素で参照する必要があり<canonicalValue>ますか?

これを行う方法がどこかに文書化されている場合、私はそれを見つけることができませんでした。

任意のガイダンスをいただければ幸いです。

許す

4

2 に答える 2

1

SCIM の写真属性は写真への外部 URL の配列を参照するため、ホストされたサーブレットを参照して写真を取得する URL の配列に SCIM でマップするデータ ストア仮想属性を作成できます。ldap エントリから jpegPhoto 属性を返すための既存のサーバー エンドポイントはなく、SCIM 経由で base64 でエンコードされたバイナリ データは必要ないとおっしゃいました。

写真を返す HTTP サーブレット拡張機能は、理想的には認証のために SCIM ユーザーと同じ資格情報を受け入れ、jpegPhoto 属性の ACI アクセス制御を尊重する SCIM ユーザーとして LDAP 検索を実行します。

GET https://server:8443/photosEndpoint/{entryUUID}[/attribute-option]
Authorization: <scim user credentials>

jpegPhoto は複数値の属性であるため、jpegPhoto 属性が 1 つ (複数ある場合は最初) の場合、これは img/jpeg コンテンツ タイプ エンティティを返すことができます。フルサイズの /F など、修飾子を使用して複数の写真から選択しようとしているようです。およびサムネイルの場合は /T ですが、属性オプションなしで LDAP で複数値の属性値を区別する方法はありません。

jpegPhoto returned via /photosEndpoint/{entryUUID}
jpegPhoto;size=fullsize returned via /photosEndpoint/{entryUUID}[/fullsize | /F]
jpegPhoto;size=thumbnail returned via /photosEndpoint/{entryUUID}[/thumbnail | /T]

サーブレットは、パーツごとに jpegPhoto を含むマルチパート MIME 応答で複数の写真を返すことにより、複数の写真を処理するように作成することもできます。パーツ名には属性オプションが含まれます (使用可能な場合)。欠点の 1 つは、この種の応答がブラウザーで簡単にレンダリングされないことです。

全体として、これはあると便利なアイデアですが、実際にはある程度の作業が必要です。UnboundID のサポートが役立つ場合があります。

于 2015-08-29T13:44:55.107 に答える