1

特定の顧客データへのアクセスを必要とする新しいアプリを構築していますが、OAuth は私たちの要件 (長期間有効なアクセス トークン、特定のリソースまたはスコープへのアクセスを許可する機能など) を完全に満たしているようです。ここでは、「Facebook でログイン」タイプの機能を探しているわけではありません。既存の顧客ログイン データベースに基づいて単一の特定の OAuth 認証サーバーを公開し、Web アプリとネイティブ アプリがこのエンドポイントを介してユーザーを認証できるようにしたいと考えています。

DotNetOpenAuth コード サンプルを調べたところ、すべての OAuth 2 の例で OpenID を使用して初期認証を実行し、次に OAuth を使用して実際にリソースへのアクセスを承認しているようです。

私の理解では、「ノーオペレーション認証」を使用して初期認証を実行し、プロセス全体で OAuth2 を使用できるようにすることができます。私たちはフェデレーション認証をサポートしたくないので、OpenID は実際には何も提供しません。したがって、可能であれば単純化のために単一のプロトコルに固執したいと思います。

.NET を使用して構築された純粋な OAuth2 認証サーバーの良い例はありますか? DotNetOpenAuth で提供されているサンプル コードを誤解していませんか? それとも、最初の認証段階で OpenID が必要ですか?

4

1 に答える 1

1

OAuth2.0 と OpenId の間に結合関係はありません。OAuth2.0 実装でカスタム ログイン戦略を実装できます。

あなたは「リソース所有者」になるので (あなたのアプリケーションがユーザー ベースを所有していると私が理解している限り)、DNOA 認証サーバーのサンプルで openid ログインを標準の asp.net ログインに置き換えるだけです。

OAuth2.0 プロトコルは、アクセス トークンを発行するためにユーザー ID を確認するだけで済みます。その ID をどのように確認するかは、完全にあなた次第です。

于 2013-08-14T14:43:13.900 に答える