http://www.cnblogs.com/blowing00/p/4521135.html http://www.barretlee.com/blog/2016/01/10/oauth2-introduce/