初めてシングル サインオン キーを更新 (作成) するために取得しようとすると、Google Apps 管理者設定 API から興味深いエラーが表示されます。API 経由でのみこれを行うことを検討していますが、API は、署名キーがクライアント側で既に作成されていると想定しているように見えます。次の GET リクエストは、以下のエラーで失敗しています:
GET https://apps-apis.google.com/a/feeds/domain/2.0/ruby-alphaz.co/sso/signingkey
応答エラーは次のとおりです。
SimpleXMLElement Object
(
[error] => SimpleXMLElement Object
(
[@attributes] => Array
(
[errorCode] => 1408
[invalidInput] =>
[reason] => InvalidSsoSigningKey
)
)
)
問題なくシングル サインオン設定を更新できますが、署名キー エンドポイントが問題を引き起こしています。明確にするために、現在ドメインの署名キーは存在しませんが、ドメインの指示では、エンドポイントを介して XML を取得して、適切な id パラメータが設定されていることを確認し、その後の PUT 応答で作成/更新をフォローアップできるようにします。署名鍵。
私がフォローしているドキュメントは次のとおりです。
https://developers.google.com/google-apps/admin-settings/#retrifying_the_single_sign-on_signing_key
私の認証トークンヘッダーは、他のエンドポイントで機能するため、適切に設定されているという事実を知っています。
何か案は?
アップデート(およびソリューション)
以下の回答のコメントセクションでジェイと会話した後、問題の解決策は次のとおりであることがわかりました。
- GET リクエストを実行
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
し、エラーのある XML レスポンスを受け取った場合は、エンドポイントInvalidSsoSigningKey
経由で SSO が有効になっていることを最初に確認してください。https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general
SSO を有効にしているにもかかわらず
InvalidSsoSigningKey
エラーが発生する場合は、アップロードされた署名キーがまだないことが原因である可能性があります。文書化は容易ではありませんがhttps://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
、次の形式で PUT リクエストを実行して署名キーを作成できます。<?xml version="1.0" encoding="UTF-8"?> <atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006"> <apps:property name="signingKey" value="[YOUR_BASE64_ENCODED_CERTIFICATE_VALUE]" /> </atom:entry>
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
これで、GET 要求を正常に発行し、有効な応答を受け取ることができるはずです。id
適切なパラメーターが含まれているため、今後の更新ではこの GET 応答を利用する必要があります。