2

Web ApiのVisual Studioテンプレートに付属する個々のユーザーアカウントで既定の認証を使用しています。 Angular.jsのフロントエンドでapiを消費します。Web Api/OWIN認証トークンを使用する場合の追加情報

驚くべきことではありませんが、姓名のようなユーザーに関する追加情報を保存する必要があります。これらの余分な値をRegisterメソッドで設定したいと思います。

Q.ユーザーモデルを拡張する必要がありますか、またはこの情報をクレームとして保存する必要がありますか。

この情報が/トークンからの応答で「自動的に」追加コードを追加せずに返された場合、ボーナスになります。

+1

がこれを発見します。http:// stackoverflowの.com/questions/26357054/return-more-info-to-the-client-using-oauth-bearer-tokens-generation-and-owin-in –

答えて

0

私は/Tokenコールの応答で余分な情報を返すことにしました。 ApplicationOAuthProvider

は(テンプレートプロジェクトの一部である)私は、ユーザーを渡すために2箇所でCreatePropertiesCreatePropertiesと調整の呼び出しを変更だけではなく、ユーザ名:

public static AuthenticationProperties CreateProperties(ApplicationUser user) 
      { 
       var firstNameClaim = user.Claims.FirstOrDefault(c => c.ClaimType == ClaimTypes.GivenName); 
       var lastNameClaim = user.Claims.FirstOrDefault(c => c.ClaimType == ClaimTypes.Surname); 
       var roles = user.Claims.Where(c => c.ClaimType == ClaimTypes.Role).Select(c => c.ClaimValue); 

       IDictionary<string, string> data = new Dictionary<string, string> 
       { 
        { "userName", user.UserName }, 
        {"firstName", firstNameClaim != null ? firstNameClaim.ClaimValue : "" }, 
        {"lastName", lastNameClaim != null ? lastNameClaim.ClaimValue : "" }, 
        {"roles", string.Join(",", roles) } 
       }; 

       return new AuthenticationProperties(data); 
      } 
関連する問題