Идентификация

Идентификацията в платформата с е осъществява посредством JSON Web Tokens (JWT) както следва:

Стъпка 1. Изпраща потребител и парола

Клиента изпраща POST заявка към http://e-services.bfu.bg/api/. Заявката съдържа полета потребител (user) и парола (pass) хеширана посредством sha256.

Например: потребител test с парола test изпраща:

user=test&pass=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

Стъпка 2. Връща ключа на клиента

Сървъра връща на клиента отговор в който се съдържа ключ за достъп.

Например:

{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjMiLCJleHAiOjE1MTEzNjUyMzN9.yANST1g9CzLeqtBYFtJ7JVUmSHizrwYE4ZWWvjLhgOI"}

Стъпка 3. Изпраща заявка и ключа

Клиента изпраща POST заявка съдържаща ключа за достъп в хедъра на страницата и входен параметър необходим за съответната услуга.

Например за услугата: POST http://e-services.bfu.bg/api/faculty.php
Хедър на страницата:

{Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjMiLCJleHAiOjE1MTEzNjUyMzN9.yANST1g9CzLeqtBYFtJ7JVUmSHizrwYE4ZWWvjLhgOI}

Входен параметър за услугата:

fak=5

Стъпка 4. Връща резултата

В случай на успешна идентификация сървъра връща резултат от работата на конкретната страница във формат JavaScript Object Notation (JSON).

Например:

{ "FACULTY": [ { "number": 1, "code": "308", "title": "проф.д-р н.", "name": "Андон Лазаров", "picture": "http://e-services.bfu.bg/api/picture.php?id=308", "teacher": "http://e-services.bfu.bg/api/teacher.php?id=308", "publications": "http://e-services.bfu.bg/api/publications.php?id=308", "consultation": "Сряда, от 15:00 до 17:00 ч., стая 409\r\n" }, { "number": 2, "code": "259", "title": "доц.д-р н.", "name": "Иванка Стамова", "picture": "http://e-services.bfu.bg/api/picture.php?id=259", "teacher": "http://e-services.bfu.bg/api/teacher.php?id=259", "publications": "http://e-services.bfu.bg/api/publications.php?id=259", "consultation": "" }, ... }

JSON продукта може да бъде превърнат в програмен код в Интернет на адрес quicktype.io или json2csharp.com.

results matching ""

    No results matching ""