client_id和client_secret OAuth2& OAuth流类型之间的区别

时间:2015-12-11 13:21:48

标签: api security oauth-2.0

我正在研究OAuth2。很多事情对我来说很清楚,但我有两个问题。

问题1,client_id和client_secret

使用OAuth,可以使用client_id和client_secret标识客户端。 但我找不到这些之间的区别2.我只发现client_id是公共的,而client_secret是私有的。

我认为它是这样的,但我不确定。 *当有一个名为“GreatApp”的应用程序可以从OAuth2 API获取数据时。它通过API注册,它获得2个id的一个client_id,这对于GreatApp的每个单独安装都是相同的。他们得到的client_secret对于GreatApp的每个单独安装都是唯一的。

这意味着您可以使用client_id识别连接到API的应用程序,并且您可以通过client_secret识别单个手机或平板电脑。

这是对的还是我错了?

第二个问题:不同类型的流程

OAuth2使用的流程不止一种。我读了很多关于此的内容,并在YouTube上观看了一些视频。他们解释了2或3种,但他们没有清楚地说出每个流程的名称。我用Google搜索了很多,但我无法找到关于什么类型的流量以及在什么情况下应该使用哪种流量的明确解释。  I found this documentation but this is Oracle-specific I think. **

是否有人可以向我解释流量以及何时应该使用哪种流量?

1 个答案:

答案 0 :(得分:2)

客户端ID和机密用于机密客户端,这意味着可以保密的客户端,例如Web服务器上的Web应用程序。它们通常不用于注册移动应用程序等个别实例。

我在this answer中描述的授权流程。 HTH