狠狠撸
Submit Search
Summer'14 Update - What's new in Force.com Canvas -
?
5 likes
?
1,526 views
Shinichi Tomita
Follow
Summer'14 Update - What's new in Force.com Canvas -
Read less
Read more
1 of 9
Download now
Download to read offline
More Related Content
Summer'14 Update - What's new in Force.com Canvas -
1.
Summer’14 Update - What’s
new in Force.com Canvas - 2014/07/15 Shinichi Tomita Mashmatrix, Inc. @stomita
2.
What’s new in Force.com
Canvas ? <apex:canvasApp> へentityFields の追加 ? SDK オブジェクトおよび項目の変更 ? モバイルデバイスの向き変更イベントのハンドリング ? ページレイアウト/モバイルカード内に埋め込み可能に ? S1のナビゲーションメニューでカスタムアイコン指定可能に ? Signed Requestをオンデマンドに要求可能に ? Signed Requestを利用するアプリにユーザ承認を必要とするよう設定可能 ? SAMLでのシングルサインオン ? Signed Requestのコンテキストのカスタマイズ? (カスタムのアプリケーションライフサイクル)
3.
ページレイアウト内への Canvas埋め込み ? 縦サイズ伸縮(従来のVFページ埋め込みでは不可)
4.
<apex:canvasApp> の entityFields 属性 <apex:canvasApp
applicationName="MyApp" entityFields="Phone,Fax,BillingCity" containerId="canvasAppDiv"/>
5.
Signed Req.に含まれる? Context情報のカスタマイズ ? User/Organization/Recordの情報をコンテキストから 除外設定可能 ?
entityFieldsをダイナミックに設定可能 ? Apexで取得した追加の情報をパラメータに設定可能
6.
Signed Req.のオンデマンド要求 ? 利用シーン! -
通常:OAuthトークンがExpireした時? - アプリが「ユーザが自己承認可能」に設定してある場合 ? Sfdc.canvas.client.refreshSignedRequest()! - フレーム間通信でSigned Request(以下SR)を親フレーム(Salesforce) から取得。JSのコールバックに返される - ユーザ承認されてない場合、OAuthトークンなどはSR内に含まれない ? Sfdc.canvas.client.repost()! - 画面全体が再描画される(フレーム再読み込み)
7.
考察:? オンデマンドSigned Req.は検証必要? ? 通常、Canvasアプリでは、受け取ったSRがちゃんとそのアプリ向けに発行 されたものかどうか、サーバサイドでの検証が必要 ?
悪意のあるサイトがCanvasをIFrameとして読み込んだら?Signed Request情報を自作して送りつけてきたら?(なりすまし/クリック ジャック) ? しかしJSからオンデマンドで取得したSRについて、逐一サーバに渡して検 証することはたぶん想定されていない?(少なくともそうしろとは書かれ てない) ? Canvas SDK内では一応 PostMessage時にOriginチェックは行われているので 安全に見えるのだけど… ? Canvasアプリの性質にもよるが、できればサーバで署名検証、または最低 でも渡ってきたSR内のclient.targetOriginのチェックをした方がいいかも
8.
おまけ: ? Force.com Canvas
Debugger ? Signed Requestの中身を見る Canvasアプリ ? https://sfdc-canvas- debugger.herokuapp.com/canvas ? SRの署名検証 してません! ? なので上記URLを登録すれば勝手 に接続アプリとして利用可能で す
9.
Thanks.
Download