这里以
oauth
的密码认证方式举例
首先是一个登录的过程
A.B.用户访问客户端
C.通过POST方法,发送用户名和密码到认证服务器
D.同时,认证服务器使用已设定的
client_id
和client_secret
,以及grant_type='password'
结合用户提交过来的用户名
和密码
进行认证E.验证通过后,认证服务器给客户端返回带有
token_type
expires_in
access_token
refresh_token
的数据;不通过会返回错误信息。
接下来是访问资源的过程
资源服务器上的某些资源是需要用户验证才可以访问的,在laravel中一般通过中间件
auth:api
来保护这些资源。当已获取access_token
的用户需要访问这些资源,则需要进行下面的操作。
F.用户可通过任意方法请求资源服务器,但在请求的同时,需要在
headers
中带上这些信息:Accept:application/json,Authorization:Bearer +access_token
。注意!Bearer
与access_token
之间有个空格。G.认证通过,服务器返回相应的数据;认证不通过,服务器返回错误信息
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。