2016-10-04 9 views
-1

新しいと学習WebアプリケーションWeb API - トークンを使用してAPIにアクセスする方法

これは書籍データベースへのアクセスを提供するサンプルAPIです。 2つのデータベースで使用可能な2つのサンプルAPI操作は、ある存在

はABCとXYZは

/api/{abc or xyz}/booksこれは

/api/{abc or xyz}/book/{ID}は、これは、このAPIにアクセスするには、単一の本 の詳細を返す利用可能な本を返すと言うあなたAPIトークンが必要です。

もただの現実世界APIのように、これらは、私は顧客がC#でこれらの2つのプロバイダからの書籍の最も安い価格を得ることができるようにWebアプリケーションを構築したい回

でフレーク状かもしれません。

あなたに提供されたAPIトークンは公開されないでください。 供給API X-アクセストークンにアクセスするためのヘッダ内の次のトークン:xxxxxxxxxxxxxxxxxxxxxx

Iは

public class Movies 
{ 
public int Id { get; set; } 
public string Name { get; set; } 
public string Category { get; set; } 
public decimal Price { get; set; } 

public class MoviesController : ApiController 
{ 
Movies[] movies = new Movies[] 
{ 
    new Movies { Id = 1, Name = "Star Wars", Category = "Action", Price = 1 }, 
    new Movies { Id = 2, Name = "Spiderman", Category = "Action", Price = 3.75M }, 
    new Movies { Id = 3, Name = "Bridget Bones", Category = "Comedy", Price = 16.99M } 
}; 

public IEnumerable<Movies> GetAllProducts() 
{ 
    return movies; 
} 

public IHttpActionResult GetProduct(int id) 
{ 
    var movie = movies.FirstOrDefault((p) => p.Id == id); 
    if (movie == null) 
    { 
     return NotFound(); 
    } 
    return Ok(movie); 
} 

}

モデルクラスとコントローラを作成しています

}

と私の考え方は

<body> 
<div> 
<h2>All Movies</h2> 
<ul id="movies" /> 
</div> 
<div> 
<h2>Search by ID</h2> 
<input type="text" id="movieId" size="5" /> 
<input type="button" value="Search" onclick="find();" /> 
<p id="movie" /> 
</div> 

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js">/script> 
<script> 
var uri = 'api/movies'; 
$(document).ready(function() { 
// Send an AJAX request 
$.getJSON(uri) 
    .done(function (data) { 
    // On success, 'data' contains a list of products. 
    $.each(data, function (key, item) { 
     // Add a list item for the product. 
     $('<li>', { text: formatItem(item) }).appendTo($('#movies')); 
    }); 
    }); 
}); 

function formatItem(item) { 
return item.Name + ': $' + item.Price; 
} 

function find() { 
var id = $('#movieId').val(); 
$.getJSON(uri + '/' + id) 
    .done(function (data) { 
    $('#movie').text(formatItem(data)); 
    }) 
    .fail(function (jqXHR, textStatus, err) { 
    $('#movie').text('Error: ' + err); 
    }); 
    } 
    </script> 

私はこのためのトークン認証の使い方を理解していません。 API x-access-tokenにアクセスするためにヘッダーに次のトークンを指定したいとしましょう:xxxxxxxxxxxxxxxxxxxxxxどうすればいいですか?

ご協力いただければ幸いです。 ありがとうございます。

+0

は、[のOAuth2](https://www.visualstudio.com/en-ca/docs/integrate/getに見て-started/auth/oauth)。また、尋ねる前にいくつかの調査を行います。 –

答えて

0

トークンベースの認証は、ASP.Net Web API 2とOWINを使用して実装できます。

ここにはlinkが実装方法の手順を示します。

幸運の.. .. !!!

それはあなたを助けている場合、「回答」としてそれをマークすることを忘れないでください...

+0

あなたの返事を感謝します@AKR。私はこのリンクを通って私が探している静かではないです。私はこれを見つけた[リンク](http://www.primaryobjects.com/2015/05/08/token-based-authentication-for-web-service-apis-in-c-mvc-net/)確認したいこの認証が私が達成したいものに対する正しい方法であれば?また、どのように私は異なるソース(サイト)からのIDに基づいて本や映画を比較することができます – coder

+0

それはあなたが達成したいものに依存します。私はあなたの要件についてはあまりよく分からないあなたは思考のカップルです - 私が送ったリンクでは、トークンは私たちではなくフレームワークによって生成されます。しかし、あなたが言及したものは、トークンを生成するコードを書くようです。私は2番目の質問を理解するかどうかは疑問です。同じタイプの2つのオブジェクト(例:Book1とBook2)を比較することについて話していますか? – AKR

+0

トークン認証の使い方が分かりません。 API x-access-tokenにアクセスするためにヘッダーに次のトークンを指定したいとしましょう:xxxxxxxxxxxxxxxxxxxxxxどうすればいいですか?このアプリはスカイスキャナーのように機能します。 fromとtoは異なるサイトから(api経由で)比較され、最も安い料金を取り込み、表示させます。私は似たような種類のアプリを作りたい。私は映画スターウォーズのIDであるid 5を入力します。これは別のサイト(api経由)で比較し、その映画とディスプレイの最も安い価格を私に取り寄せるべきです。この比較はどのように起こっていますか? – coder

関連する問題