2014-10-29 5 views
1

Thinktecture ID 서버를 사용하여 angularjs 프론트 엔드가있는 웹 API를 보호하려고합니다. 다음 코드와 함께 API 서버를 통해 Identity Server에서 OAuth 토큰을 얻을 수 있습니다.웹 api에서 Thinktecture OAuth Token을 확인하십시오.

[HttpPost] 
    public async Task<JObject> LogOn(UserModel userModel) 
    { 
     System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 

     var client = new OAuth2Client(
      new Uri("https://identity.app.net/issue/oauth2/token"), 
      "dd", 
      "secret"); 

     var result = 
      await 
       client.RequestResourceOwnerPasswordAsync(userModel.UserName, userModel.Password, 
        @"http://my.app.net/"); 
     return result.Json ; 
    } 

토큰을 반환합니다. 토큰이 요청의 헤더를 통과 할 때 [Authorize] 태그가 작동하는 방법을 알아낼 수 없습니다.

+0

어떤 오류가 발생합니까? –

답변

2

이전 질문 - 답변을 알아 냈습니까?

웹 API를 호출하는 클라이언트에 토큰을 베어러 토큰으로 추가해야합니다. 나는 많은 아니에요 (당신은 아마 물건을 가로 챌 필요가 각도에서

var client = new HttpClient();  
client.SetBearerToken(token); 
var response = client.GetStringAsync(<yourUrl>).Result; 

: .NET 클라이언트에서 이런 식으로 뭔가를 할 것이다 (여기서 RequestResourceOwnerPasswordAsync로 통화에서 "결과를" "토큰"이 될 것입니다) 프런트 엔드 녀석 ;-)) : http://www.codeproject.com/Articles/784106/AngularJS-Token-Authentication-using-ASP-NET-Web-A

관련 문제