オンラインドキュメントhereに記載されているように、WSO2 APIマネージャ(v1.10.0)を分散アーキテクチャで実装しました。WSO2 APIマネージャー認証UNIQUE KEY制約違反
これは(5台の別々のサーバに)次のように構成されます
- ゲートウェイ(×2)
- 出版社&ストア(単一のサーバー上)
- キーマネージャ(×2)
これらは、SQL Server 2014インスタンス上にある3つの通常のAPIマネージャデータベース(レジストリ、ユーザーマネージャ& APIマネージャ)に接続されています。
私たちは、Webサイトユーザーの認証(ログイン、パスワードの忘れなど)やAPI呼び出しの認証にキーマネージャーを使用しています。しかし
、キーマネージャ上で、私は、次の(UNIQUE KEY制約の違反を)見ているサイトにログインし、エラーをしようとしたとき:
TID:[-1] [] [2016- 10-06 00:36:47842] ERROR {org.wso2.carbon.identity.oauth2.dao.TokenPersistenceTask} - アクセストークンを永続化中にエラーが発生し :c5a0a11e63388dCHANGEDea34b0533445 {org.wso2.carbon.identity.oauth2.daoを.TokenPersistenceTask} org.wso2.carbon.identity.oauth2.IdentityOAuth2Exception: コンシューマーキーのアクセストークンを格納するときのエラー: org.wso2.carbon.identity.oauth2.dao.TokenMgtDAO.persistAccessTokenでorg.wso2.carbon.identity.oauth2.dao.TokenMgtDAO.storeAccessToken(TokenMgtDAO.java:246) でfpA6AhOfbVCHANGEDgH0WzBDOga(TokenMgtDAO.java:284 ) でorg.wso2.carbon.identity.oauth2.dao.TokenPersistenceTask.run(TokenPersistenceTask.java:52) でjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ジャワで。 (スレッド:java:745)の原因: com.microsoft.sqlserver.jdbc.SQLServerException:UNIQUEの違反 このスレッドに返信します...返信ありがとうございました。キーコンひどい 'CON_APP_KEY'。オブジェクト 'dbo.IDN_OAUTH2_ACCESS_TOKEN'に重複キーを挿入できません。重複するキー値は(15、 [email protected]、-1234、 APPLICATION_USER、369db21a386ae4CHANGED0ff34d35708d、ACTIVE、NONE)です。 でcom.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216) でcom.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515) com.microsoft.sqlserverました。 com.microsoft.sqlserver.jdbc.TDSCommand.executeで com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement $ PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350) (でjdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404) IOBuffer.java:5696) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) 次の場所にあります。 com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement。ジャワ: 180) でcom.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155) com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:332) ORGで.wso2.carbon.identity.oauth2.dao.TokenMgtDAO.storeAccessToken(TokenMgtDAO.java:224) ... 5もっと
これは、ウェブサイト上で、次の.NETのエラーが生じている:
私はこれをGoogleで試しましたが、最新の回答が見つかりません。
マスターマネージャーと作業ノード(アウトラインhere)を持つようにキーマネージャーを構成していないため、これは必要でないことが文書に示されているようです。
ご協力いただければ幸いです。
こんにちは@Bhathiya。ご回答有難うございます。あなたがリンクしているページが見えました。しかし、私はこれを私が作業しているバージョン(v1.10.0ではなくv1.9)として割り引いた。0)には '/repository/conf/identity.xml'ファイルがなく、' /repository/conf/indentity/identity.xml'ファイルには 'PoolSize'要素がありません。ただし、 true ... SessionDataPersist>要素(現在コメントアウトされています)があります。私はそれをコメントする必要がありますか?もしそうなら、その値は 'true'か' false'でしょうか? –
私は ''要素のコメントを外し、 ' true true 'を、次に ' false 'を設定しようとしました。しかし、私はどちらの場合も同じ問題を抱えていました。最初にクリーンアップを実行し(値を1に設定して)、次に ' true'を入力して試してみます。 ' –
はい、有効にして、' 'と設定してみてください。 – Bee