1

私たちの組織では、Google Apps への SSO に SAML を使用しています。SSO を使用するには、API を介してパスワード変更機能を管理する必要があります。プロビジョニング API は廃止され、Admin SDK Directory API が推奨されるようになったため、私はこの API に対して開発を行っています。

私が開発しているフローは、エンド ユーザーが Google OAuth2 を使用してアプリケーションにログインするというものです。次に、ユーザー アクセス トークンを使用して、https://www.googleapis.com/admin/directory/v1/users/ API を呼び出して新しいパスワードを入力しようとしていますが、エラー 403 "Not Authorized to access thisリソース/API".

私の質問は、ユーザーが自分のパスワードを更新できるようにするには、どのような権限が必要ですか? この API を GET で呼び出すと、ユーザー情報を正常に取得できますが、新しいパスワード (またはその他のフィールド) を入力しようとすると失敗します。

これが私のリクエストとレスポンスの例です:

PUT https://www.googleapis.com/admin/directory/v1/users/user%40domain.org?key={YOUR_API_KEY}

Content-Type:  application/json
Authorization:  Bearer ya29.AHES6ZT_7onp48edpClD72X-*************************
X-JavaScript-User-Agent:  Google APIs Explorer

{
  "password": "wlKsf.##2af"
}

応答:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Not Authorized to access this resource/api"
   }
  ],
  "code": 403,
  "message": "Not Authorized to access this resource/api"
 }
}
4

1 に答える 1

2

Admin SDK Directory API にアクセスできるのは、特権管理者、代理管理者、および再販業者のみです。

API を介してユーザーを更新するためのアクセス権のみを持つ委任管理者を作成し、この委任管理者用に作成された OAuth トークンを Web アプリケーションで使用することをお勧めします。

于 2013-07-20T01:34:00.483 に答える