2017-12-12 13 views
0

そここんにちは、ソナー6.7 SSO - 認証をトリガーする方法?

我々はいくつかの時間のために私たちは群衆-プラグインがSSOをサポートしていないため、アイデンティティプロバイダ(群集)を認証するために作られたSSOプラグインを使用してきました。 これで、Sonarを新しいLTS 6.7にアップグレードすることにしました。しかし、私たちのプラグインは、HttpSessionオブジェクト(サーブレットフィルタ内で作成されたもの)を使用していました。ソナーが現在はステートレスなので、サポートされていないようです。 OAuth2は使用していません。

私はちょっと探してきましたが、私は認証をどのように達成するのか混乱しています。 Crowd側の通信は成功し、ユーザーの詳細とセッショントークンが取得されます。私のプラグインには、既存のカスタムオーセンティケータ、UserProvider、およびGroupsProviderがあり、うまく動作するはずです。

しかし、認証はソナー側では実行されません。私はオーソライザがオーバーライドするdoAuthenticateメソッドをソナーでトリガーする方法を見つけることができません。

私はを使用することはできません。ユーザーは何もしなくてもいいから、彼がCrowd Cookieを持っている場合は自動的に接続するか、Crowdログインページにリダイレクトして接続できます。私の理解として、BaseIdentityProviderは外部IDプロバイダに接続するオプションを追加するだけです。

サーブレットフィルタコードからの認証をどのようにトリガできるか知っていますか?または、やり直して全く別の方法を使用する必要がありますか?

答えて

3

いずれかのボタンをクリックしなくてもSonarQubeに認証するための唯一の方法は、HTTPヘッダーを使用することです。

詳細については、documentationを参照してください。

+0

まずはお返事ありがとうございます。これは「新しい」HTTPヘッダー認証を使用せずに管理していたため、ちょっと恥ずかしいことです。私は 'init(Context)'メソッド内で 'authenticate'を投げる' BaseIdentityProvider'を実際に拡張しました。次に、私のサーブレットフィルタが '/sessions/init/'の方向にリダイレクトされます。それは認証をトリガし、ユーザーが入力を行わずにソナーの家に向けてリダイレクトします。 –

+0

興味深い! BaseIdentityProviderはOAuth2以外の方法で認証を可能にするために提供されていますが、この方法で使用できるとは考えていませんでした。他のユーザーにとって興味深いかもしれないので、オープンソースプラグインを作成したり、どこかのサンプルを提供することができます。 –

+0

時間があり、プラグインのアップデートが完了したらCrowdのSSOが完了したと思うかもしれません。それまでは、これをチェックすることができます - これは、私がこの方法を使ったのを見たところです:[reverse-proxy-auth-sonar-plugin](https://github.com/trajano/reverse-proxy-auth-sonar-plugin )。 –

関連する問題