Вопрос следующий.
В Oauth2 если тип авторизации authorization code. Он позразумевает переход по внешней ссылке, разрешение прав для приложения на стороне сервиса и потом происходит переход на callback страницу с code параметром, после этого отправляется code на сервис и получаем заветный access_token.
Поэтому тут несколько вопросов
1) Как сделать callback_url на стороне bpm?
2) Как и куда записывать данные (скажем access_token)
И пара вопросов мимо кассы,
1) В документации очень много оперируеться зависимости модулей (первый параметр для define в js коде), если ли где-то список всех этих модулей и их методов (или все ViewModels реализуют одни и те же методы?)
2) Как получить public URL (или даже content) для attachment file (http://joxi.ru/EA4vGklIwqq0nm), ссылка которая указана там (в Web интерфейсе), являеться доступной только для авторизированого пользовталея который имеет к нему доступ
3) Где посмотреть реальные данные приложения (скажем у меня есть несколько вкладок и в каждой из них есть по 3 файла, я хочу посмотреть где-то данные по этим файлам, и хочу получить по ним info прямо в JS)
Нравится
Короче по поводу OAuth2 оказалось все просто, нужно создать C# файл через создание в пакете Исходного кода и вводим следующее
public class TestService { [OperationContract] [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] public string callback(string data) { var request = HttpContext.Current.Request; using (var client = new WebClient()) { var values = new NameValueCollection(); values["grant_type"] = "authorization_code"; values["code"] = request["code"]; values["client_id"] = "CLIENT_ID"; values["client_secret"] = "SECRET"; values["redirect_uri"] = "https://SOME_DOMAIN.bpmonline.com/0/rest/TestService/callback"; var response = client.UploadValues("ACCESS_TOKEN_RETRIEVE_DOMAIN", values); var responseString = Encoding.Default.GetString(response); return responseString; } return "Error"; } }
На стороне сервиса где авторизируемся создаем приложение указываем https://SOME_DOMAIN.bpmonline.com/0/rest/TestService/callback как REDIRECT_URI и получаем то что и требовалось, после предоставления доступа к сервису переходим в BPM CRM в созданный клас, и видим ACCESS TOKEN информацию
Здравствуйте!
1) "первый параметр для define в js коде"
Первый параметр в Define - это название модуля, по которому его потом можно загружать.
http://requirejs.org/docs/api.html#modulename
"если ли где-то список всех этих модулей и их методов"
Списка нету. Все клиентские схемы, добавленные в конфигурации,
объявляются с использованием Define.
"или все ViewModels реализуют одни и те же методы?"
Учитывая что ViewModels обычно используют "базовую" ViewModel,
то базовые методы в них одни и теже. Но также могут содержатся новые,
добавленные в расширяющей ViewModel.
2) Для получения прикрепленных файлов используется конфигурационный сервис FileService.
Пример:
http://bpmonline/0/rest/FileService/GetFile/e9eafee9-c4e4-4793-ad0a-003…
В нём используется userConnection текущего пользователя.
Исходя из этого - скачать файл у неавторизованного пользователя не получится,
даже если у него будет ссылка.
3) Не понял вопрос. Вкладки в браузере? Какие 3 файла? Какую инфу JS хотите видеть?