Drupal 8 提供Oauth2登陆服务端

Drupal 8提供类似微信、Google这样的登陆服务端,将账号在服务器登陆然后获取用户信息.

1. 安装配置simple_oauth, 并且创建一个客户端账号,配置回调的url
2. 前端当点击登陆以后直接跳转到这个URL. 请替换其中的myappid和state(随机字符串可以是时间戳). http://www.mysite.com/oauth/authorize?client_id=myappid&response_type=code&scope=api&state=123
3. 这时在上面配置回掉的url中会获取到一个?code的参数。再根据code去获取Access Token

POST http://www.mysite.com/oauth/token
Args:
array(
   'redirect_uri' => http://www.myclient.com/callback
   'code' => $_GET['code'],
   'grant_type' => 'authorization_code',
   'client_id' => 'df13baf2-7cd8-4aee-bc2b-326910b6a8c0',  ### need change
   'client_secret' => 'abcd',  ### need change.
);

4. 最后通过Access token获取用户信息, 以前API为我自己自定义的API。返回当前登陆用户名。

return ['您的登陆账户为:' . \Drupal::currentUser()->getUsername()];