Регистрация  |  Вход

Force.com Canvas

Мы строили, строили и наконец построили :)

Что такое Force.com Canvas?

Force.com Canvas это технология, которая позволяет нам интегрировать сторонние приложения с нашим salesforce оргом.

Не важно на каком языке написано стороннее приложение, важно лишь доступность нашего приложения через https.



Force.com Canvas позволяет нам взаимодействовать с сторонним приложение от имени текущего salesfroce пользователя.



Компоненты Force.com Canvas.




  1. SSL(TLS)/HMAC/SHA - для безопасного обмена данными между нашим приложением и SF оргом

  2. Browser - с поддержкой cross domain javascript

  3. JavaScript / IFRAME - при помощи которых наши приложение встраивается в SF

  4. Salesforce APIs - REST / SOAP для обмена данными

  5. Canvas SDK - javascript api от SF



Где можно разместить Force.com Canvas?



В зависимости от заданных настроек, наше приложение может быть доступно на:




  • Chatter page

  • VisualForce Page

  • Tab

  • Page Layout

  • Standalone



Если мы хотим встроить наше приложение на VF page, мы должны использовать тег <apex:canvasApp /> c fnnhb,enfvb




  • developerName - имя нашего canvas приложения

  • entityFields  - список полей объекта, которые мы хотим передать в наше приложение (доступно с summer 14)

  • parameters - строка в JSON формате ({param1: “value”, param2:value})



Технологии используемые Force.com Canvas




  1. Javascript SDK - позволяет взаимодействовать стороннему приложению с SF


  2. Signed Request - данные отправляемые в наше приложение при помощи POST





    1. Содержит контекстную информацию





      1. User info




      2. Org info




      3. Environment info




      4. Authentication info






    2. JSON формат







Signed Request



Signed Request - параметр который передается в POST запросе в наше стороннее приложение. Это обычная строка, которую можно вытянуть из запроса следующим образом




var srEncoded = Request.Params.Get("signed_request");


Данная строка выглядит как base64 encoded и состоит из двух частей разделунных точкой.



левая_часть.правая_часть



Левая часть представляет собой электронную подпись, которую формирует SF и которую мы должны будем получить на .net стороне.



Правая часть это и есть наши параметры, которые передает SF в формате JSON.



От теории к практике!



Создать Canvas app очень просто. Он создается как и обычный connected app(Setup->Create->Apps->Connected apps), но для правильной работы нужно выполнить следующие шаги:



1. Выставить чекбокс Enable OAuth Settings в true, прописать callback url (совершенно любой урл в нашем случае) и выбрать scope для нашего приложения.



2.  Далее опускаемся ниже (:p) и выставляем Force.com Canvas. Указываем Canvas App Url(по данному урлу и будут происходить взаимодействия между SF и .Net строной). Указываем Access Method как Signed Request и  выбираем Locations(место где будет доступен наш canvas app)



После нажатия на Save будет создан Canvas App.



Стоит отметить, для того чтобы ограничить доступ к нашей .net стороне нам стоит запомнить Consumer Secret( с помощью него мы бедем генерировать и проверядь электронные подписи).



На этом настройка приложение на SF в принципе закончена.



.Net сторона



Я не совсем уверен что стоит подробно описывать все манипуляции, которые нужно провернуть .net части. Поэтому просто оставлю это здесь.(VS2013 solution)