Download the PHP package redmix0901/oauth2-client-sso without Composer
On this page you can find all versions of the php package redmix0901/oauth2-client-sso. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download redmix0901/oauth2-client-sso
More information about redmix0901/oauth2-client-sso
Files in redmix0901/oauth2-client-sso
Package oauth2-client-sso
Short Description Package kết hợp với oauth2 client tạo đăng nhập single sign on
License MIT
Informations about the package oauth2-client-sso
Cài đặt
Cài đặt qua composer
publish file config vào thư mục config
Sử dụng
middleware này sẽ luôn làm mới access token khi hết hạn.
Nếu bạn muốn redirect về trang Auth Server để đăng nhập nếu user chưa đăng thì thêm redirect phía sau.
Nếu muốn token được gắn trên cookie, để gọi xác thực api thì thêm cookie
Hoặc bạn có thể kết hợp cả 2:
Nếu cần xác thực Token của user từ Resource Server lên (Auth Server) id.todpev.vn thì dùng guard và config trong file config/auth.php như sau
Việc xác thực API sẽ có 2 trường hợp:
- Nếu không tách Resource Server và App Server ra làm 2 thì bạn có thể kiểm bằng cách thông qua cookie.
middleware này sẽ gắn token vào cookie và server sẽ kiểm tra token đó để xác thực.
- Trường hợp 2 là tách Resource Server và App Server: Bạn có xác thực bằng cookie với điều kiện là cả 2 cùng là Laravel, chung APP_KEY và setup subdomain có thể share cookie cho nhau, và khai báo middleware như trên. Hoặc bạn phải gắn token vào header.
-Trong trường hợp sử dụng Single page application, khi token trên cookie hết hạn bạn có thể gọi request /oauth2/issueToken để được cấp phát token mới. Nếu có lỗi, hết hạn hoặc bị logout thì sẽ trả về message sau:
Chỉnh sửa config như sau:
defaults là không bắt buộc. Nếu không chỉnh sửa defaults thì bạn có thể dùng auth()->guard('oauth2')->user()
Nếu muốn lấy thông tin user từ request có thể dùng cách sau.
Nếu bạn chọn config mapingUser = true.
User sẽ được tự động map với user trong database cũa App Server.
Nếu Auth Server trả về 1 user mới thì nó sẽ tự động tạo 1 user với các trường mà Auth Server trả về và được map với fillable trong model User. Việc của bạn là update thông tin cho user đó trong event:
Có thể logout bằng link sau: /oauth2/logout hoặc bằng tên route sso.logout
Có thể login bằng phương thức get link sau: /oauth2/login hoặc bằng tên sso.login.authorization_code
Login with email, password bằng phương thức post: /oauth2/login hoặc bằng tên sso.login.password_grant