Софтуерно Инженерство
Loading...
+ Нов въпрос
onefen avatar onefen 27 Точки

Вземане на данни от Kinvey.com без логване

Здравейте,

Бих искал да ви питам за проекта нещо. Правя Issue Tracker System. Тъй като използвам като Backend сайта на Kinvey.com, за да взема данните от колекцията Issues използва за оторизация така наречените user credentials тоест:

'Authorization': 'Kinvey ' + sessionStorage['token']

Като си записвам въпросния token във sessionStorage след успешно логване на юзер от отговора, който kinvey ми връща:

sessionStorage['token'] = loggedInUser._kmd.authtoken;

Тоест въпросният token не съществува ако няма логнат юзер, като при logout се изтрива целия sessionStorage.

По задание обаче всички Issues трябва да се виждат и без логин.

  • all issues (optionally with paging), without login.

Опитах да направя GET заявката за Issues с така наречените app credentions, т.е.

'Authorization': 'Basic' + btoa(token)

където let token = APP_ID + ':' + APP_SECRET

за да не се налага да има логнат юзър. Заявката обаче се отхвърля от сървара на Kinvey заради непозволена оторизация.

Въпросът ми е как мога да взема данните без да се логвам. Проблемът ще се появи и при детайлите за исутата, защото по задание и те трябва да се виждат без логване. Само добавянето на ново Issue е след логване.

Единственото което ми идва на ъкъла е да направя заявката с Master Key, но преди като учехме за Kinvey в СОфтУни лекторите казваха, че подобно нещо е много грешно и не трябва да се прави.

Някой знае ли друг начин или не е проблем да го остава така.

 

 

Jinjaar avatar Jinjaar 347 Точки

Здравей!

А защо не си направиш в базата един guest user и ако човека не се логне с някакъв акаунт, ти автоматично да го логваш с guest user-a така ще можеш да правиш заявките който ти трябват, но трябва да си барнеш секюритито и да слагаш ограничения където не искаш да има достъп guest user-a. :)

Поздрави!

0
25/08/2016 19:58:56
onefen avatar onefen 27 Точки

Ако правя заявките с Master Key ще се отчете ли като сериозна грешка

По мое мнение не би трябвало без да си логнат да можеш да виждаш базата данни, но пък така е по задание. Или това не е задължително да е така.

0
onefen avatar onefen 27 Точки

При оторизация с MASTER_SECRET се вземат без никакъв проблем данните и когато няма логнат юзер.

Пробвах го. Въпросът е правилно ли е да е така или ще се отчете като сериозна грешка. От гледната точка на сигурност е супер грешно, но като за проекта става според мен.

0
Jinjaar avatar Jinjaar 347 Точки

Според мен не е правилно гест юзъра да борави с най-голямата привилегия която ти се предоставя от апи-то Master Key - MASTER_SECRET. Тази ауторизация се използва при модифициране на базата. По-скоро направи един нормален юзър и си направи проверка ако е гест юзър да се показва само тази страница която ти трябва и тези данни които са ти нужни. 

0