AutoGRAPH.NET Service Login — различия между версиями

Материал из TK
Перейти к: навигация, поиск
 
(не показано 12 промежуточных версий этого же участника)
Строка 1: Строка 1:
Если в .config-файле указаны параметры [[AutoGRAPH.NET_Service|users-directory]] и [[AutoGRAPH.NET_Service|devices-directory]] - работа сервиса немного видоизменяется. Логика работы описана здесь.
 
 
 
Метод Login аутентифицирует пользователя по логину/паролю и возвращает токен, который используется во всех последующих запросах.
 
Метод Login аутентифицирует пользователя по логину/паролю и возвращает токен, который используется во всех последующих запросах.
   
== WCF ==
+
== JSON ==
  +
  +
Вызов:
  +
  +
<code>[http://localhost/ServiceJSON/Login http://localhost/ServiceJSON/Login]</code>
  +
  +
В формате JSON в тело POST передается логин и пароль (и необязательный параметр UTCOffset, в котором передается с каким смещением от UTC будут возвращаться данные - в минутах):
  +
  +
<code>{"UserName": "demo", "Password":"demo"}</code>
  +
  +
<code>{"UserName": "demo", "Password":"demo", "UTCOffset": 300}</code>
   
Определение:
 
<syntaxhighlight lang="csharp">
 
string Login(string userName, string password)
 
</syntaxhighlight>
 
 
Результат:
 
Результат:
- в случае успешной аутентификации возвращается строка-токен
 
- в случае ошибочной аутентификации передается исключение UnauthorizedAccessException.
 
   
  +
*в случае успешной аутентификации возвращается строка-токен
== JSON ==
 
  +
*в случае ошибочной аутентификации возвращается пустая строка и HTTP Status Code = 403.
   
  +
Посмотреть пример на [http://dojo.telerik.com/@Denisio/IBaXIZ/3 Kendo UI Dojo]
Вызов (внимание! используется метод POST):
 
<syntaxhighlight lang="html4strict">
 
http://localhost:8300/Login
 
</syntaxhighlight>
 
   
  +
Также возможно использование метода GET:
В формате JSON в тело POST передается логин и пароль:
 
   
  +
<code><font face="monospace">[http://localhost/ServiceJSON/Login?UserName=demo&Password=demo http://localhost/ServiceJSON/Login?UserName=demo&Password=demo]</font></code>
<syntaxhighlight lang="csharp">
 
  +
{"UserName": "demo", "Password":"demo"}
 
  +
<code><font face="monospace">[http://localhost/ServiceJSON/Login?UserName=demo&Password=demo&UTCOffset=300 http://localhost/ServiceJSON/Login?UserName=demo&Password=demo&UTCOffset=300]</font></code>
</syntaxhighlight>
 
  +
  +
== WCF ==
  +
  +
Определение: <code>string Login(string userName, string password, int? UTCOffset)</code>
  +
  +
*UTCOffset - смещение от UTC в минутах для расчётов (null - UTC)
   
 
Результат:
 
Результат:
  +
- в случае успешной аутентификации возвращается строка-токен
 
- в случае ошибочной аутентификации возвращается пустая строка и HTTP Status Code = 403.
+
*в случае успешной аутентификации возвращается строка-токен
  +
*в случае ошибочной аутентификации передается исключение UnauthorizedAccessException

Текущая версия на 12:05, 29 мая 2020

Метод Login аутентифицирует пользователя по логину/паролю и возвращает токен, который используется во всех последующих запросах.

JSON

Вызов:

http://localhost/ServiceJSON/Login

В формате JSON в тело POST передается логин и пароль (и необязательный параметр UTCOffset, в котором передается с каким смещением от UTC будут возвращаться данные - в минутах):

{"UserName": "demo", "Password":"demo"}

{"UserName": "demo", "Password":"demo", "UTCOffset": 300}

Результат:

  • в случае успешной аутентификации возвращается строка-токен
  • в случае ошибочной аутентификации возвращается пустая строка и HTTP Status Code = 403.

Посмотреть пример на Kendo UI Dojo

Также возможно использование метода GET:

http://localhost/ServiceJSON/Login?UserName=demo&Password=demo

http://localhost/ServiceJSON/Login?UserName=demo&Password=demo&UTCOffset=300

WCF

Определение: string Login(string userName, string password, int? UTCOffset)

  • UTCOffset - смещение от UTC в минутах для расчётов (null - UTC)

Результат:

  • в случае успешной аутентификации возвращается строка-токен
  • в случае ошибочной аутентификации передается исключение UnauthorizedAccessException