Перейти к основному содержимому

Аутентификация

Существует несколько способов аутентификации с использованием API Time.

Все примеры предполагают, что экземпляр Time запущен по адресу http://localhost:8065.

Токен сессии

Выполните HTTP POST запрос на /api/v4/users/login с JSON телом, указывающим login_id пользователя, password и, при необходимости, MFA token. login_id может быть электронной почтой, именем пользователя или AD/LDAP ID в зависимости от конфигурации системы.

curl -i -d '{"login_id":"someone@nowhere.com","password":"thisisabadpassword"}' http://localhost:8065/api/v4/users/login

ПРИМЕЧАНИЕ: Если вы запускаете cURL на Windows, вам нужно будет заменить одинарные кавычки на двойные и экранировать внутренние двойные кавычки с помощью обратного слэша, как показано ниже:

curl -i -d '{"login_id":"someone@nowhere.com","password":"thisisabadpassword"}' http://localhost:8065/api/v4/users/login

Если запрос успешен, ответ будет содержать заголовок Token и объект пользователя в теле.

HTTP/1.1 200 OK
Set-Cookie: MMSID=hyr5dmb1mbb49c44qmx4whniso; Path=/; Max-Age=2592000; HttpOnly
Token: hyr5dmb1mbb49c44qmx4whniso
X-Ratelimit-Limit: 10
X-Ratelimit-Remaining: 9
X-Ratelimit-Reset: 1
X-Request-Id: smda55ckcfy89b6tia58shk5fh
X-Version-Id: developer
Date: Fri, 11 Sep 2015 13:21:14 GMT
Content-Length: 657
Content-Type: application/json; charset=utf-8

{{user object as json}}

Включите Token как часть заголовка Authorization в ваших будущих API запросах с использованием метода Bearer.

curl -i -H 'Authorization: Bearer hyr5dmb1mbb49c44qmx4whniso' http://localhost:8065/api/v4/users/me

Теперь вы должны иметь возможность получить доступ к API как пользователь, под которым вы вошли.

Персональные токены доступа

Использование персональных токенов доступа очень похоже на использование токена сессии. Единственное реальное отличие заключается в том, что токены сессии истекают, а персональные токены доступа будут действовать до тех пор, пока они не будут вручную отозваны пользователем или администратором.

Так же, как и токены сессии, включите персональный токен доступа как часть заголовка Authorization в ваших запросах, используя метод Bearer. Предположим, что наш персональный токен доступа - 9xuqwrwgstrb3mzrxb83nb357a, мы могли бы использовать его, как показано ниже.

curl -i -H 'Authorization: Bearer 9xuqwrwgstrb3mzrxb83nb357a' http://localhost:8065/api/v4/users/me

OAuth 2.0

Time имеет возможность выступать в качестве поставщика услуг OAuth 2.0.