2

職場では、ThinkTecture IndentityServer SSO プロバイダーを実行するようにセットアップされたシステムがあり、現在、いくつかの .NET および ColdFusion サイトの認証を提供しています。現在、Ruby on Rails でサポートしている新しいサイトに取り組んでおり、SSO に接続する方法がわかりません。(私はレールにはかなり慣れていませんが、CF と .NET の長年の開発者です)

omn​​iauth-oauth2 と oauth2 の gem を見てきましたが、私が見つけたドキュメントや説明には重要な部分が欠けているようです。Twitter、Facebook、または同様のものを使用して認証したい場合は、大量の情報がありますが、一般的な OAuth2 プロバイダーのクライアント側に対処するだけのものは見つかりません。

これを行う方法についての情報を見つけるために、私を正しい方向に向けてくれる人を探しています。それがIdentityServerに固有のものなのか、プロバイダーに関係なく単に一般的なものなのかは気にしません。助けてくれてありがとう。

更新:ご存知のように、この接続には OAuth2 を使用することをお勧めしますが、ADFS、WSFed、Simple HTTP など、IdentityServer が提供する他の方法を使用することに反対しているわけではありません。ただし、OpenID は使用できません。これらのアカウントはシステム固有のものであり、他のシステムでは使用できないからです。

4

2 に答える 2

0

全体として、これは非常に簡単であることがわかりました。難しいのは、質問に対する直接的な答えがないことです。IdentityServer への接続方法は、IdentityServer の設定方法に完全に依存します。

正確なコードを投稿するつもりはありません。これは、IdentityServer を私たちとまったく同じ方法でセットアップしていない人には役に立たないためです。また、IdentityServer にアクセスできないため、正確に言うことはできません。それはどうですか。ただし、全体的なソリューションについて説明します。

  1. これに必要な唯一の gem は JWT です
  2. IdentityServer 管理者からキー コードを取得します (クライアント ID、秘密鍵、署名鍵)
  3. IdentityServer の構成に従ってログイン URL を構築する
  4. 最後のステップで生成されたログイン パスにユーザーをリダイレクトします
  5. IdentityServer からトークンを受け取る
  6. JWT.decode 関数を使用してデコードおよび検証する

そこから、データを含む JSON 文字列が得られます。

于 2015-10-23T18:52:24.433 に答える
0

オープンな id connect ライブラリが本当に必要です。

http://openid.net/developers/libraries/

于 2015-10-15T18:12:57.867 に答える