设计oauth2 client