Разделяемая библиотека представляет собой стандартную Си-библиотеку. Взаимодействие ведётся через #include <acrauth.h>
Библиотека предлагает следующие функции:
По умолчанию библиотека работает с базой данных SQLite, поддержка сохранения данных в которых есть во всех окружениях и ОС. Перед началом работы необходимо установить путь к этой базе данных следующим образом:
void act_set_db_path(const char* path);
Далее необходимо установить сикрет (симметричный ключ, которым зашифрованы данные в базе):
void acr_set_aes_secret(const char* secret);
После установки этих параметров можно смело переходить к проведениям операций с библиотекой
За получение UUID сохранённых на устройстве ключей по имени сервера отвечает следующая функция:
char** acr_get_local_keys(const char* server_name);
Возвращает массив указателей на Си-строки, оканчивающийся нулём (null-pointer). В случае отсутствия в базе сохранённых ключей с обозначенным server_name вернётся один нулевой указатель
char** acr_get_user_keys(const char* key_id);
Возвращает все ключи пользователя, которому принадлежит ключ key_id.
char* acr_inval_key(const char* key_id);
Инвалидирует ключ, в случае успеха возвращает 0, иначе - текст ошибки.
char* acr_register(const char* idm, const char* register, const char* auth, const char* server_name, const char* secret);
Функции требуется передать все параметры из MiME-ссылки, с помощью которой аутентификатору будет передано управление с сайта
Возвращает 0 в случае успешной аутентификации, иначе - текст ошибки
char* acr_auth(const char* server_name, const char* key_id);
Функции требуется передать server_name из MiME-ссылки и ID ключа, с помощью которого требуется провести аутентификацию (так как поддерживается сохранение нескольких ключей на один веб-сервис)
Возвращает 0 в случае успеха, иначе - текст ошибки