私たちの組織では、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"
}
}