(原文:/oauth2/index.html)

demo: https://github.com/qihaiyan/ng-boot-oauth

OAuth 2.0 教程

OAuth 2.0 是一个开放的标准协议,允许应用程序访问其它应用的用户授权的数据。例如:一个游戏可以获取Facebook中的用户信息,或者是一个地理位置程序可以获取Foursquare的用户信息等。 这儿是一个示例图:

oauth2 introduce

首先用户进入游戏的web应用,该应用要求用户通过Facebook账户登录,并定向到Facebook的登录界面,用户登录Facebook后,会重定向到之前的游戏应用。此时该应用就获取到了用户在Facebook的用户数据以及授权信息。

OAuth 2.0 用例

Continue Reading ...

1.概述 在分布式集群环境下,单个节点的日志内容往往都是存放在自己的节点上,这种独立分散的日志存储方式会有很多问题。我们需要一个统一的日志处理中心,对日志进行收集和集中存储,并进行查看和分析。The Twelve-Factor App中有关于日志处理的建议。

相应的处理技术现在也很成熟,通常会采用Elastic Search + Logstash + Kibana的技术栈(ELK)。在这篇文章中我们会采用一种更便于部署的方式,采用Elastic Search +Fluentd + Kibana的技术栈(EFK),并且通过docker进行部署。

对应的有一个示例项目在github上,地址:fluentd-boot

Continue Reading ...

一. HTTP状态码

  1. 100 到199 的状态码代表信息,描述对于请求的处理。
  2. 200 到 299 的状态码表示客户端发来的请求已经被接收并正确处理。
  3. 300 到 399 的状态码表示客户端需要进一步的处理才能完成请求,比如重定向到另一个地址。
  4. 400 到 499 的状态码表示客户端的请求有错误,需要修正。404就是这种情况。
  5. 500 到 599 的状态码表示服务器在处理客户端请求时发生了内部错误。

在SpringBoot中,如果接口中有未处理的异常,会返回500,表示内部服务器错误。简单来说,如果后台程序没有对异常做特殊处理,只要有异常抛出,客户端收到的状态码就是500。

二. 在异常类中定义状态码

我们可以通过使用@ResponseStatus注解在异常类中定义返回的状态码。

Continue Reading ...