Day08 - 【入门篇】OAuth 2.0 Playground

本系列文之後也会置於个人网站


这是入门篇的最後一天了,今天不会写什麽内容,但来带大家看个入门概念可用的工具 -- OAuth 2.0 Playground

OAuth 2.0定义了几个flow,可用於不同情境下,由於後续会有更多详细说明,所以今天只会带大家初步认识,嚐鲜看看。

注册帐号

点选 register a client and a user。别担心,这是个随时可以废弃的帐号。你完全不用真的去记他,他也不会要求你提供什麽资讯。

然後你会得到一组帐号密码。然後点选「open in new window」之後就可以按下「continue」。

在另外一个视窗中会有相同帐号密码的资讯。如果你的系统允许视窗置顶,我会建议你先将其置顶。

Implicit 隐含模式

首先,先试试其实已经用过的隐含模式。

你可以先不理解这部分内容,直接点选「Authorize」

然後输入你刚刚注册得到的帐号密码登入:

允许授权

同样先不用理解什麽是state,直接选择「It Matches, Continue!」

现在就拿到存取权杖(Access Token)了,并且这个权杖拥有的权限范围(scope)是photo

尽管我们之後会将permission和scope概念分开,但你可以先理解成同样东西。

Authorization Code

接着来试试所有里面最爲标准,最爲基础的code模式。

同样先不用理解

然後登入

授权

It Matches, Continue!

And then 「Go」

然後就拿到权杖(token)了。

What!? 怎麽好像没什麽差别?

这就对了。在使用者登入使用应用的情况,会更难察觉其中差异。

在一般情况下,OAuth协议是不会被用户察觉到的,例如Steam和Spofity的桌面应用。除非主动的去探寻OAuth的痕迹,否则用户永远部会知道他使用了OAuth。这是很好的特性,因为优秀的安全系统在一切功能都正常时就应咳不被察觉。
-- OAuth 2.0 实战

同样地 OpenID Connect 也非常相似,尽管它目的性有点不同,但就不再多演示了。

PKCE

PKCE和Code模式很像,只是再一开始和最後有点不同,它是更安全的授权方式。让我们来看看吧!

先产生爲安全需要的资讯:

然後就和code模式有点像了

登入

授权

It Matches, Continue!

取得权杖(Token)

然後是差不多的结果


在这个Playground的Device Code模式我认爲意义不大,之後会带大家透够其他方式来看看。

那麽今天的内容也就到此爲止了。恭喜各位看完入门篇的所有内容,接下来的内容是会蛮烧脑的概念篇和实战篇了。


<<:  C# 语言

>>:  2021-Day19. Serverless(七):实作 -- 将 Ktor 专案 Push 到 Google Cloud.

JavaScript内建标准物件:日期

JavaScript 除了原始资料型别例如数字、字串、布林等等以外,所有的资料类型都是物件。日期与时...

[30天 Vue学好学满 DAY23] Vue Router-2

昨天笔记了基础Vue Router 以及 History概念,今天继续笔记其他细项用法。 动态路由 ...

Day26练习java-抛出例外

昨天使用的是在有明确资讯时的例外处理,可以直接使用try catch抓出来,但有时在方法里需要传入资...

Day29:辗转相除法(Euclidean algorithm)

辗转相除法(Euclidean algorithm) 辗转相除法是求两数的最大公因数(greates...

HTML笔记(04)-HTML里的formatting

在html里面有分成区块层级(block level)及行内层级(inlinelevel), 前者在...