ПредишенСледващото

От класически сесии, когато се работи чрез приложния програмен интерфейс отказано.

Сървърът получава искането, го вижда дойде знак, тя се разпада през дебелото черво, за да INPUT_ID и input_val. Избира от основата на жетона с входящ INPUT_ID, получава от token_val базовата стойност и тайната. Сравнява input_val и token_val. Ако базата данни намерен знак с правилния идентификатор и Вал стойност са равни, то е време да се провери валидността на искането.

Клиентът в допълнение към ръка знак знак (подпис), който се формира така (например) тайна + api_path + query_param. От страна на сървъра, и вие знаете api_path api_param, тайна, избрана от базата данни. Hash подпис, приета от HMAC ().

В допълнение към подписа знак и може да предава време и просто да го постави в знака, така и от страна на сървъра, за да намали reqs които повече от 60 секунди.

Ако някой се вслушва в канала си, тя няма да бъде в състояние да изгради искания (и по този начин kompromentirovat), и тъй като искането проверява живота не винаги могат да получат данните на един от заловените искането.

И на базата жетони могат да се съхраняват, докато клиентът не поиска те да бъдат унищожени и да се запази за последен път достъп до маркера или премахване на белезите, които не са били използвани в продължение на повече от 60 дни.

Нормализиране D ". Такъв механизъм предпазва от фалшификация поискване, а вашата - не.
Прихващане жетона (между другото, какво име и Вал?) И тайна, можем да извайвам всички запитвания.
Улавянето знак = RSA (SHA256 (мине + параметри)) ние не разчитам на линията, без частния ключ. Без да знае паролата, няма да може да направи ново искане.
Паролата може да бъде откраднато от време на време, и в моя случай, от това наистина няма да спаси нищо, освен, че доставчикът на API в този случай не е виновен.

Артьом. използвате един мастър ключ за всички потребители - прав път ------> там.
Не трябва да се притеснява, когато не се изисква. Ако наистина са чувствителни към прихващането на данни, струва си да се гледа по-устойчив разтвор (виж изпълнението телеграма протокол).

Ако не искате да се притеснява много, а така като RSA, е необходимо да се генерира за всеки отделен потребител публични / частни ключове и вашия публичен ключ, за да се изтеглят през друг източник ръчно, след това никой прихващане, и не може да навреди.

Артьом. "Между другото, какво име и Вал?", Само за да избирате от база данни на INT и индексът да се направи. В крайна сметка, всеки искане до API, е да се провери жетона. от цифров индекс на терена по-лесно от индекса на VARCHAR.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!