1

https://ucwa.skype.com/websdkのインタラクティブ Web SDK で遊んでいます。Azure AD ログインで正常にサインインしています。F12 ツールを使用すると、有効な oauth トークンを取得したことがわかります。

今、私はこのトークンを取得し、次のような GET 要求を介して人物オブジェクトを取得しようとしています: _https://webpoolam30e08.infra.lync.com/ucwa/oauth/v1/applications/113782897528/me

結果は次のとおりです。

{
 "uri": "sip:xxx@yyy.de",
 "name": "john doe",
 "_links": {
   "self": {
     "href": "/ucwa/oauth/v1/applications/111364079681/me"
   }
 },
 "rel": "me"

}

私が期待するのは、次のような私に関する詳細情報です。

{
  "uri": "sip:xxx@yyy.de",
  "name": "john doe",
  "emailAddresses": [
    "xxx"
  ],
  "company": "my company name",
  "workPhoneNumber": "tel:+123456789",
  "endpointUri": "sip:xxx;opaque=user:epid:4JNzkgeuabct-CSuIgYV8gAA;gruu",
  "_links": {
    "self": {
      "href": "/ucwa/oauth/v1/applications/113782897528/me"
    },
    "note": {
      "href": "/ucwa/oauth/v1/applications/113782897528/me/note"
    },
    "presence": {
      "href": "/ucwa/oauth/v1/applications/113782897528/me/presence"
    },
    "location": {
      "href": "/ucwa/oauth/v1/applications/113782897528/me/location"
    },
    "reportMyActivity": {
      "href": "/ucwa/oauth/v1/applications/113782897528/me/reportMyActivity"
    },
    "photo": {
      "href": "/ucwa/oauth/v1/applications/113782897528/photos/xxxx"
    }
  },
  "rel": "me"
}

結果はアプリケーションIDに依存することがわかりました。Office365 Web ポータル (_https://outlook.office.com/owa) を開いて、F12 ツールで有効なアプリケーション ID を検索すると、期待どおりの結果が得られます。インタラクティブな Web SDK の例から取得した OAuth トークンを使用しても。これはセキュリティや許可の問題ではないのでしょうか?? Azure 管理ポータルのすべてのアクセス許可へのアクセスを許可します。

また、非常に奇妙なのは、この 2 つの非常によく似た要求に対して、同じ oauth トークンで異なるステータス コードを取得することです。

_https: //webpoolam30e08.infra.lync.com/ucwa/oauth/v1/applications/113782897528/me/プレゼンス

-> 200 OK

_https: //webpoolam30e08.infra.lync.com/ucwa/oauth/v1/applications/112861033140/me/プレゼンス

-> 403 禁止

{
  "code": "Forbidden",
  "message": "The requested operation isn't allowed."
}

では、なぜ両方のアプリケーションに違いがあり、同じ結果を得るために何が必要なのでしょうか? 紺碧の構成に欠けているものはありますか?

手伝ってくれてありがとう

4

3 に答える 3

1

UCWA と大部分の Skype for Business Online はプレビュー段階にあり、2 つのアプリケーション間で異なる結果セットが表示される理由を説明するのに役立つ場合があります。ユーザーとして O365 ポータルにログインすると、ほとんどの場合、Exchange から補足情報を取得するか、ポータルは公開されていない内部 API (およびアクセス許可) を使用して UCWA から詳細情報を受信できます。

私の記憶が正しければ、上記のリクエストの例は次のとおりです。

  • /ucwa/oauth/v1/applications/113782897528/me/presence - O365 ポータル
  • /ucwa/oauth/v1/applications/112861033140/me/presence - 非ポータル

表示されているのは、オンライン クライアントを使用している場合、UCWA のプレゼンスが現在有効になっていないことです (より適切な用語は、API が公開されていない可能性があります)。

于 2016-07-26T14:32:40.457 に答える
0

このようにアプリケーション間でトークンを共有することは、セキュリティ違反のように思えます。トークンは特定のリソースに対して提供され、サーバーは、提供するトークンがアプリケーションの作成に使用されたスコープと一致することを検証する可能性があります。トークンを共有することで、どのようなシナリオを実行しようとしていますか?

于 2016-07-27T00:27:41.833 に答える