2017-11-06 6 views
1

ウェブAPIからトークンを返すことで、そのトークンのクッキーをjavascriptで設定する方法はありますか? このように、私は、トークンを生成していますHttpresponseMessageからベアラートークンを返す方法Asp.net Web Api

[Route("api/agency/login")] 
    [HttpPost] 
    public HttpResponseMessage loginApi([FromBody] Users UserObj) 
    { 
      var tokanObj = method.AccessToken(UserObj.username, UserObj.Password, "password"); 

    //How to return this token ?? 
    } 
+0

を検討することができますか? – zaitsman

+0

Asp.net web api2 – DumpsterDiver

+0

HttpResponseMessageからString(またはトークンオブジェクトのタイプ)に変更し、直接tokenObjを返します。 –

答えて

2

あなたはStringContentを試してみましたか?

return new HttpResponseMessage(HttpStatusCode.OK) 
{ 
    Content = new StringContent("Your token here") 
}; 
+0

ですが、セッションストアを使用してjavascriptでこのトークンをCookieとして設定できますか? – DumpsterDiver

+0

もちろん可能です。この例を見てください https://stackoverflow.com/questions/19769422/net-web-api-2-owin-bearer-token-authentication?rq=1 –

2

また、あなたは(.NETのコアまたは完全な.NETフレームワークとWeb APIを2)どのようなウェブAPIバージョンを使用している応答にクッキーとしてトークンを含む

[Route("api/agency/login")] 
[HttpPost] 
public HttpResponseMessage loginApi([FromBody] Users UserObj) { 
    var tokanObj = method.AccessToken(UserObj.username, UserObj.Password, "password"); 

    var response = Request.CreateResponse(HttpStatusCode.OK); 
    //use what every you want as the key for the cookie 
    var cookie = new CookieHeaderValue("auth_token_key", tokenObj); 

    //...set cookie values as needed 

    response.Headers.AddCookies(new[] { cookie }); 

    return response; 
} 
関連する問題