0

初めてシングル サインオン キーを更新 (作成) するために取得しようとすると、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

私の認証トークンヘッダーは、他のエンドポイントで機能するため、適切に設定されているという事実を知っています。

何か案は?

アップデート(およびソリューション)

以下の回答のコメントセクションでジェイと会話した後、問題の解決策は次のとおりであることがわかりました。

  1. 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
  2. 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>
    
  3. https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkeyこれで、GET 要求を正常に発行し、有効な応答を受け取ることができるはずです。id適切なパラメーターが含まれているため、今後の更新ではこの GET 応答を利用する必要があります。

4

1 に答える 1

2

私は2009年にこれについて問題を提起しました、それを主演してください:

http://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=1527

キーを取得するには、SSOを有効にする必要があります。

はい、それはSSOを有効にする前にキーの一致を適切にチェックできないことを意味します。

PUTを実行する前にGETを実行する必要はありません。XMLを手動で作成するだけです。GAMがどのようにそれを行うかをご覧ください:

http://code.google.com/p/google-apps-manager/source/browse/trunk/gdata/apps/adminsettings/service.py#363

于 2012-12-17T21:08:54.840 に答える