Каковы лучшие практики для регистрации OAuth REST API? Я хотел бы свести к минимуму базу данных, поскольку журналы http могут хранить много. Однако я также хочу отслеживать использование и мгновенно обнаруживать злоупотребления.
Существует ли пользовательский LogFormat для Apache, который можно настроить для хранения большей части данных?
Если бы я должен был создать таблицу, в которой регистрировалось использование REST API, использующего механизм безопасности OAuth, как должна выглядеть эта таблица? Я новичок в OAuth и хочу убедиться, что я ничего не пропускаю.
Вот что у меня есть ...
"access_log"
access_method VARCHAR(8) -- PUT/GET/POST/DELETE/etc..
request_uri VARCHAR(1024)
token_id int references token.id
user_id int references user.id
В качестве общей отправной точки предположим, что таблицы выглядят так, как указано в этом примере OAuth-провайдера .
"user"
id int , auto_increment
login varchar(50)
"consumer"
id int , auto_increment
consumer_key varchar(250)
consumer_secret varchar(250)
active tinyint(1)
"consumer_nonce"
id int , auto_increment
consumer_id int references consumer.id
timestamp bigint
nonce varchar(250)
"token"
id int , auto_increment
user_id int references user.id
type int references token_type.id
consumer_id int references consumer.id
token varchar(250)
token_secret varchar(250)
callback_url varchar(250)
verifier varchar(250)
"token_type" // 1 = Request, 2 = Access
id int , auto_increment
type varchar(50)