Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Room E
目的
最新の Web API 開発
ゴールASP.NET Web API 2
Microsoft Azure
認証
アジェンダ 背景
ASP.NET Web API 2
ASP.NET Web API 認証の仕組み
Microsoft Azure の活用
Web サイト
モバイルサービス
API Management
Cloud First
位置付けHTTP サービス
.NET Framework のサービスフレームワーク
- HTTP, REST, OData
強み
REST アーキテクチャスタイル例:
GET ~/api/books/3
POST ~/api/books
GET ~/api/authorInfo
XML, JSON, etc…
OData REST を利用したデータアクセス用のプロトコル
データソースのメタデータ、型、リレーション
クエリ $filter, $sort, etc…
XML, JSON 双方に対応
ApiController クラス ODataController クラス
REST でも有効
REST と OData
ODataWeb
APIREST
ASP.NET
Web API
ASP.NET
Web API 2ASP.NET
Web API 2.2
2012/8 2013/10 2014/1 next
VS 2012 VS 2013.NET 4.5 以上
.NET 4以上
ASP.NET Web API 2.*
属性ベースのルーティング
HTTP Client の PCL 対応
OWIN 対応
CORS, OAuth 2.0
Web API ヘルプページ生成の強化
フィルター属性の非同期対応
OData 4.0 の対応(※未リリース)
機能 OData の属性ベースのルーティング
クエリ($filter, $top)をプロパティ毎に制限
Etag のサポート、楽観的平行性制御
Enum のサポート
$format が有効に
etc..
OData 4.0 の対応(※未リリース)
ポイント
WCF は OData 4.0 対応に投資しない
3.0 と名前空間、アセンブリ、実装名が違うMicrosoft.AspNet.WebApi.OData (NuGet ID)→ Microsoft.AspNet.OData
System.Web.Http.OData (アセンブリ名)→ System.Web.OData
ASP.NET Web API認証の仕組み
IIS(HTTP モジュール) セルフホスト
Katana Middleware
メッセージハンドラー
属性 IAuthenticationFilter
属性 [Authorize]
ホスティング
Katanaコンポーネント
ASP.NETWeb APIフレームワーク
OAuth 2.0 Bearer Token
[Authorize]string Get()
401 Unauthorized
キーを持たないRequest
ヘッダーWWW-Authenticate: Bearer
OAuth 2.0 Bearer Token
[Authorize]string Get()
200 OK
ヘッダーAuthorization : Bearer [key]
OAuth 2.0 Bearer Token
OAuthOptions = new OAuthAuthorizationServerOptions{
TokenEndpointPath = new PathString("/Token"),AuthorizeEndpointPath =
new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),AllowInsecureHttp = true
};
app.UseOAuthBearerTokens(OAuthOptions);
ライブラリ
ASP.NET Identity
Microsoft Azure の活用
Web サイト ASP.NET アプリケーションとして発行
Visual Studio との統合
発行
リモートデバッグ
モバイルサービス
データ
認証
Push通知
SQL, MongoDB,
Blob Storage etc...
Facebook, Twitter,
Microsoft, Google
etc…
Windows, Apple, Google, 通知ハブ
←RESTAPI←
Node.js
ASP.NET
Web API
各種デバイス用のSDK
Web.config
WebApiConfig.cs
Scheduled Job
API Controller, Table Controller
ASP.NET
ASP.NETWeb APIフレームワーク
モバイルサービス 構造
Global.asaxモバイルサービスランタイム
Bootstrapper
Web サイト モバイルサービス
IIS IIS
ASP.NET プロジェクト
ASP.NET プロジェクト
モバイルサービスランタイム
注意点 Web サイトとはホスティングの仕組みが違うこと
デプロイ後、Global.asax は反映されないこと
デプロイ時、Web.config の値が設定されること
ローカルデバッグ時は、Global.asax や Web.config がそのまま使用できること。
API Controller, Table ControllerASP.NETWeb APIフレームワーク
モバイルサービス構造
データSQL, MongoDB,
Blob Storage etc...
ASP.NETWeb API
アプリケーション
APIAPI 提供者
API 利用者
API Management
開発者用のポータル
プロキシ
公開するポータル
API
API を利用する開発者
アプリケーション
管理者
開発者用のポータル
プロキシ
公開するポータル
API Management
ASP.NETWeb API
アプリケーション
APIAPI
API 提供者
API 利用者
ASP.NET Web API 2
モバイル開発向けの機能強化
.NET 4.5 以上
OData 4.0
ASP.NET Web API 認証
Microsoft Azure の活用
.NET Technologies Primer
.NET 開発テクノロジ入門 2014 年版
~ Visual Studio 2013 対応版 ~
http://nkbp.jp/1sT87tP
著者
小高 太郎、酒井 達明、芝村 達郎
中原 幹雄、山田 祥寛、和田 健司
監修
日本マイクロソフト株式会社 エバンジェリストチーム
!! 日経 BP 社様ブースにて 10% 割引で先行販売中 !!
アンケートにご協力ください。
●アンケートの「Breakout Session」記入欄に、上記の【Session ID】を
ご記入ください。
●アンケートはお帰りの際に、受付でご提出ください。
マイクロソフトスペシャルグッズと引換えさせていただきます。
Ask the Speaker のご案内 Ask the Speaker
展示会場MAP
●本セッションの詳細は、展示会場内
『Ask the Speaker』コーナー
Room E カウンタにてご説明させて
いただきます。是非、お立ち寄りください。