这里以
oauth
的密码认证方式举例laravel
首先是一个登陆的过程json
A.B.用户访问客户端api
C.经过POST方法,发送用户名和密码到认证服务器服务器
D.同时,认证服务器使用已设定的client_id
和client_secret
,以及grant_type='password'
结合用户提交过来的用户名
和密码
进行认证app
E.验证经过后,认证服务器给客户端返回带有 token_type
expires_in
access_token
refresh_token
的数据;不经过会返回错误信息。spa
接下来是访问资源的过程code
资源服务器上的某些资源是须要用户验证才能够访问的,在laravel中通常经过中间件
auth:api
来保护这些资源。当已获取access_token
的用户须要访问这些资源,则须要进行下面的操做。中间件
F.用户可经过任意方法请求资源服务器,但在请求的同时,须要在headers
中带上这些信息:Accept:application/json,Authorization:Bearer +access_token
。注意!Bearer
与access_token
之间有个空格。blog
G.认证经过,服务器返回相应的数据;认证不经过,服务器返回错误信息token