2015-07-02 21 views
5

Tôi đã thực hiện nghiên cứu để chuyển sang hệ thống ủy quyền được cộng đồng hỗ trợ thay vì hệ thống tôi đã tạo. Tôi đã mắc sai lầm khi xây dựng lại bánh xe, thay vì thực hiện một hệ thống điều khiển cộng đồng sử dụng các phương pháp hay nhất. Tuy nhiên, tôi không thể tìm thấy bất kỳ ví dụ ủy quyền nào với JWT thay vì xác thực.Mã thông báo truy cập cho người dùng ẩn danh - JWT

Tôi đang mở cho tất cả các đề xuất. Theo như tôi có thể tìm thấy, JWT và OAuth yêu cầu khách hàng phải có tài khoản hiện tại và xác thực để nhận mã thông báo. Tuy nhiên, tôi cần chức năng dưới đây trong ứng dụng của mình.

  • Người dùng ẩn danh sẽ nhận được mã thông báo truy cập và có thể tìm nạp một số tài nguyên. Tôi sẽ có thể nhận ra những khách hàng này và lưu trữ dữ liệu phiên cho họ.
  • Người dùng khách sẽ có thể đăng nhập và sau đó có thể nhận mã thông báo mới hoặc cập nhật cấp truy cập của họ để yêu cầu tài nguyên bị hạn chế và thực hiện các thao tác chỉ dành cho thành viên.

Tôi sẽ xây dựng dự án này với Laravel 5.1 và AngularJS. Tất cả các đề xuất được đánh giá cao. Tôi thực sự có thể sử dụng một số hướng dẫn về điều này, và các liên kết đơn giản đến các tài liệu sẽ là đủ.

+0

Tôi có cùng một câu hỏi. Làm cách nào tôi có thể phát hành mã thông báo hợp lệ có thể tìm nạp dữ liệu nhất định từ các điểm cuối API của tôi, nhưng chỉ miễn là chúng có mã thông báo ẩn danh hợp lệ. – timbrown

+0

Tôi có cùng một câu hỏi. Làm cách nào để bạn cho phép ứng dụng nhiều người thuê nhà cho cả người dùng ẩn danh "và" người dùng, với JWT ... – Leon

+0

cùng ở đây. Bạn cần phải bảo vệ ít nhất API đăng nhập của mình! Xem https://security.stackexchange.com/questions/59411/how-to-protect-against-login-csrf. Tôi đang đấu tranh với "hệ thống ủy quyền hỗ trợ cộng đồng" bị cáo buộc. IMHO nó không tồn tại ... –

Trả lời

0

Tôi nghĩ rằng bạn có thể tạo ra một truy cập nặc danh thẻ hoặc từ một người dùng hiện ngẫu nhiên hoặc từ phong tục tuyên bố

Từ một người dùng ngẫu nhiên hiện tại:

// grab some user 
$user = User::first(); 

$token = JWTAuth::fromUser($user); 

Hoặc Từ Claims tùy chỉnh:

$customClaims = ['foo' => 'bar', 'baz' => 'bob']; 
$payload = JWTFactory::make($customClaims); 
$token = JWTAuth::encode($payload); 

Bạn có thể tìm hiểu thêm chi tiết từ liên kết sau:

https://github.com/tymondesigns/jwt-auth/wiki/Creating-Tokens

Các vấn đề liên quan