3

OAuth の概念を知っています。ユーザーは許可タイプ、ユーザー名、パスワードを使用してサーバーにリクエストを送信し、サーバーでいくつかのチェックを行った後、ユーザーはアクセス トークンを受け取ります。私が理解できないのは、なぜ私がこれをしなければならないのかということです:

        ClaimsIdentity oAuthIdentity = await _userManager.CreateIdentityAsync(user,
            context.Options.AuthenticationType);
        var ticket = new AuthenticationTicket(oAuthIdentity, GenerareProperties(user));
        context.Validated(ticket);

CreateIdentityAsync戻るとは何ですか?とは何AuthenticationTicketですか? 何をしcontext.Validatedますか?また、oAuthIdentityなぜ私も使用する必要があるのcookiesIdentityですか? 最後に、アクセス トークンはどこで生成されるのでしょうか。

検索しましたが、これを説明しているウェブサイトが見つかりません。

4

1 に答える 1

1

CreateIdentityAsync実行中のコンテキストの ClaimsPrincipal で使用される ClaimsIdentity を返します。これはさらに抽象化されています...

anAuthenticationTicketは、便宜上、渡されたものを正確にパッケージ化したものです。

context.Validatedチケットの情報を現在のプリンシパルに追加し、401 を返す代わりに OWIN パイプラインを続行できるようにします。

cookiesIdentityこれは、テンプレートで MVC ページからの認証を許可するためです。実際には WebApi には使用されません。

  • さらに読むためのソース:
    • RC のテンプレートについて説明している素敵な記事がありますが、これは似ていました。
    • また、わかりにくいと思われる .NET セキュリティの部分を著者が分析している2 つの ブログもあります。
于 2014-03-21T22:02:20.657 に答える