現在、私は最初のREST Web APIを開発しようとしています!ベアラ認証を使用するASP.NET Web API。一意のユーザーデータを取得/追加/更新する方法
私は現在、どのようにシステムが動作するかを設計していますが、私は物事がどのように動作するのか少し混乱しています。
主に、モバイルアプリはウェブAPIであるを使用しますが、安全でなければなりません。
たとえば、私は未承認リクエストを一切処理したくありません。 (ユーザー登録以外)
このユーザー認証を実現するためにSSL +ベアラートークンを使用できることがわかりました。私はこれに慣れており、これがどのように機能するかをテストしました。それは適切です。
問題は、ユーザーの詳細を取得したいときに発生します。 私のシステムでは、ユーザはモバイルアプリケーションにログインし、トークンをサーバから要求します。すべてが良い場合は、ユーザーをアプリにログインさせることができます。すばらしいです!今、私は、このユーザについて保存された情報をそれらに提示する必要があります。名前、メール、報酬ポイントなど...
余分なユーザーデータを追加してWeb APIで取得する方法はよくわかりません。トークンを使用してユーザーを一意に識別できることを理解しています。このデータをどのように拡張できますか?
現在、ベアラトークン認証を実装した空のWebAPIプロジェクトはあまりありません。 Entityフレームワークを使用しています。ユーザーレコードにさらに多くのフィールドを追加するにはどうすればよいですか? さらに、これらのレコードをどのように更新できますか?たとえば、ユーザーはいくつかの報酬ポイントを得ていますが、そのためにユーザーデータをどのように更新できますか?
最後の質問ですが、これはユーザーごとのデータを保持するのに適していますか?つまり、他のデータをuserIDなどにリンクすることはできますか?過好奇心鳴らす
謝罪が、私はMVC
に非常に新しいですIdentityModel.csで以下のコードは、ユーザデータを追加するために、適切な場所のように思われるが、どのように私はこれに追加するには?報酬ポイントのフィールドを追加するなど?どのように私はそれを更新するだろうか?
私はそれを行うだろうかpublic class ApplicationUser : IdentityUser
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager, string authenticationType)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, authenticationType);
// Add custom user claims here
return userIdentity;
}
}
ASP.NET IDを使用しているようです。私はあなたが[ガイド](http://www.asp.net/identity)を見て/作業することをお勧めします。 – Knelis