BangBlogスマートフォン用の表示で見るBangBlogこの広告は、90日以上更新していないブログに表示しています。2014-11-04nappsについてのメモ一部界隈で最近よく名前を聞くnappsについて調べてみたので、自分の理解のためにまとめます。Connectで実現するprofileを策定しています。Connectによる認証を行う場合、複数のネイティブアプリ全てで認証と認可の管理が必要になってユーザビリティ的に厳しいよねという問題を解決するとしています。各アプリで認証するとかなっているとユーザビリティ的にもセキュリティ的にもつらいですね。Agent(TA)と呼ばれる他のアプリの代わりにtokenを取得する特別なclientとし、TAを経由して他のアプリはtokenを取得するとしています。このTAによってtokenのprovisioningとSSOを実現します。TAでのみ認証させるようにすることでフィッシング防止にもなるかなーと思います。リポジトリを見た感じ、nappsでは今のところ仕様は2つあるみたいです。1.01つがcoreとなる仕様で、もう1つはTAと他のアプリの間でのやりとりに関する仕様のようです。Connectの語彙に加えて、いくつか語彙が加わっています。Coreでは以下のようなフローが想定されています。Connectのフローです。Tokenを取得します。Endpointではresponse_typeにcodeを、scopeにopenidとnappsという文字列を含めるようにします。Tokenの取得に使用できるtokenを要求していることを示しています。Tokenを取得しています。TAからのリクエストは以下のようになります。tokenを使って取得します。Tokenを発行するアプリが指定されます。tokenもしくはid_tokenを受け取ります。tokenを交換することになるのですが、そのケースについてはTBDとなっていました。bindingsで規定されるとのことです。5でTokenの受け渡しをします。bindingsで規定されるようです。Tokenを使ったAPIリクエストをしています。tokenの検証を行います。tokenの検証を行います。Server内で検証するなどが例に出ています。Endpointというエンドポイントが存在しています。tokenを取得するアプリのメタデータを取得できます。Endpointへのリクエストはaccess_tokenとschemeの2つのパラメータを指定して、GETもしくはPOSTでリクエストします。access_tokenにはTAが取得したaccess_tokenを、schemeには"napps"という文字列を指定します。GETだとこんな感じになります。SlAV32hkKGレスポンスはjsonで、以下のようなメタデータが返ります。]}レスポンスの中身は以下のような内容になっています。Tokenを取得する際に使われます。感想いろいろ資料を見ているとエンプラ向けの仕様なのかな?と思いました。LINEやFacebook的な、母艦となるアプリケーションが存在する場合でも有効そうなフローだとは感じます。移行してみました月別アーカイブはてなブログをはじめよう!bang_yyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。