2016-09-08 3 views
1

Я знаю, что вопрос довольно широк, но позвольте мне сузить. Я построил небольшую социальную сеть с laravel, и я с нетерпением жду создания api с dingo. Моя проблема заключается в том, что я буду знать разработчиков, использующих мою api (аутентификацию разработчика), и это меня пугает, потому что разработчик, использующий api, должен будет аутентифицировать пользователей моего сайта для публикации или получения информации о них ... Я хотел бы знать, как эта проверка подлинности должна работать.Как работает аутентификация jwt api (с dingo-laravel)

Скажите разработчику [email protected] с паролем «dev123» хочет получить сообщение определенного пользователя, а URL-адрес - это mydomain.com/api/users/445/posts/4, а пользователь 445 имеет пользователя электронной почты @ gmail.com и пароль 'user123'. Как управлять обработкой проверки подлинности и аутентификации пользователей с помощью jwt. Я просмотрел некоторые руководства по jwt, но смущен, является ли пользователь api (разработчик) или пользователь платформы, который проходит проверку подлинности. Заранее спасибо, я по достоинству оценю учебник, охватывающий такие, если они доступны.

ответ

0

Как управлять обработкой аутентификации и аутентификации пользователей с помощью jwt.

Каждый пользователь и каждый разработчик на каждом устройстве получат свой токен на предъявителя после входа в систему посредством метода, который вам нужно выбрать. Как часть токена-носителя, вы можете кодировать пользовательские данные, например. идентификаторы пользователей или роли пользователя (или, вероятно, лучшие хэши).

Извлечение этой информации из токена, которое вы можете использовать для доступа к определенным ресурсам в зависимости от идентификатора пользователя, роли или того, что вы выберете.

См https://stormpath.com/blog/jwt-the-right-way примеры того, что «претензии» вы можете доверить JWT, например:

//header 
{ 
    "alg": "HS256", //denotes the algorithm (shorthand alg) used for the signature is HMAC SHA-256 
    "typ": "JWT" //denotes the type (shorthand typ) of token this is 
} 

//claims 
{ 
    "sub": "[email protected]", 
    "name": "Tom Abbott", 
    "role": "user" 
} 
+0

спасибо, но я не понимаю, когда вы говорите с помощью метода мне нужно выбрать. и я вижу только запросы пользователей в запросе api, означает ли это, что нет необходимости в информации разработчика в запросе с токеном? –

+0

Если вы аутентифицируете разработчика (т. Е. Регистрируется разработчик), вы можете передать ему токен с ролью «разработчик». Когда запрос затем приходит с действительным маркером, в том числе с ролью разработчика, вы можете быть уверены, что он является разработчиком и разрешает доступ к ресурсам, требующим доступа разработчика или владельца. – andig

Смежные вопросы