测试

Uncategorized
2.9k words

QQbot的从零开发之路

开门拦路虎

注册创建机器人后:获得的开发机器人接入票据 AppID AppSecret Token
(这是什么,完全看不懂思密达)
引用官方解释

  1. 为什么会有序号?
  2. 呃呃呃,有序列表与无序列表的区别
  • 应该就是这样
  • 无序列表get

(慢着,我是想做表格来这啦!)
复习一下html标签先
<title>标题,为什么不管用呢

My cat is very grumpy

这个貌似是单独段落标签,比如其单独成段

实际上,这样的一段被称为一个元素,
html元素的组成:开始标签、结束标签、内容、元素(前三者相结合)
元素也可以有属性(Attribute)

My cat is very grumpy

class指属性名称,editor-note指属性的值
嵌套元素:如上<strong> 将grumpy突出显示
再学一个空元素<img>
My test image

啊哈,完成。(本元素包含两个属性,但是并没有 </img> 结束标签,元素里也没有内容。这是因为图像元素不需要通过内容来产生效果,它的作用是向其所在的位置嵌入一个图像。)然后也差不多学会图片路径应该保存在哪里了。(那么以前见到的一些文章的图片加载不出来是不是也是这个原因?可能搬文章的时候没找到图片库在哪?hhh)

okok,进入正题,

表格的建立

要添加表,请使用三个或多个连字符(—)创建每列的标题,并使用管道(|)分隔每列。您可以选择在表的任一端添加管道。

名称 属性
Header Title
Paragraph Text
Syntax Description
Header Title
Paragraph Text

然后手打连字符是件很麻烦的事,这里也有工具Markdown Tables Generator

My test image

https://www.tablesgenerator.com/markdown_tables
呃呃,看来还得学一下超链接
Markdown Tables Generator
好哎,完成。有些链接需要添加尖括号以方便跳转,但部分编辑器有自动将链接识别为可跳转的链接的功能。(如果不想让编辑器先入为主,可以使用``这个块代码结构来表示链接,例如https://www.tablesgenerator.com/markdown_tables 瞧,这样就行了)
(图片也能添加超链接,之后再说)

名称 描述 备注
AppID 机器人 ID 必须使用
AppSecret 机器人密钥 用于在 oauth 场景进行请求签名的密钥
Token 机器人 Token 可用于调用开放接口的鉴权,建议使用更安全的 access token 的鉴权方式

oauth

什么是oauth理解OAuth 2.0

  • OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。

前置名词解释 RFC 6749

  • (1)Third-party application:第三方应用程序,文中又称”客户端”(client),即例子中的”云冲印”。

  • (2)HTTP service:HTTP服务提供商,文中简称”服务提供商”,即例子中的Google。

  • (3)Resource Owner:资源所有者,文中又称”用户”(user)。

  • (4)User Agent:用户代理,文中就是指浏览器。

  • (5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。

  • (6)Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。

所以,OAuth的作用就是让”客户端”安全可控地获取”用户”的授权,与”服务商提供商”进行互动

OAuth的思路

OAuth在”客户端”与”服务提供商”之间,设置了一个授权层(authorization layer)。”客户端”不能直接登录”服务提供商”,只能登录授权层,以此将用户与客户端区分开来。”客户端”登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。

“客户端”登录授权层以后,”服务提供商”根据令牌的权限范围和有效期,向”客户端”开放用户储存的资料。

运行流程

 +--------+                               +---------------+
 |        |--(A)- Authorization Request ->|   Resource    |
 |        |                               |     Owner     |
 |        |<-(B)-- Authorization Grant ---|               |
 |        |                               +---------------+
 |        |
 |        |                               +---------------+
 |        |--(C)-- Authorization Grant -->| Authorization |
 | Client |                               |     Server    |
 |        |<-(D)----- Access Token -------|               |
 |        |                               +---------------+
 |        |
 |        |                               +---------------+
 |        |--(E)----- Access Token ------>|    Resource   |
 |        |                               |     Server    |
 |        |<-(F)--- Protected Resource ---|               |
 +--------+                               +---------------+

(这表格真不好打)

1
2
3
4
5
6
7
8
9
10
11
(A)用户打开客户端以后,客户端要求用户给予授权。

(B)用户同意给予客户端授权。

(C)客户端使用上一步获得的授权,向认证服务器申请令牌。

(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。

(E)客户端使用令牌,向资源服务器申请获取资源。

(F)资源服务器确认令牌无误,同意向客户端开放资源。

这篇大佬的文章中提到:B是关键,即用户怎样才能给于客户端授权。有了这个授权以后,客户端就可以获取令牌,进而凭令牌获取资源。

客户端的授权模式

客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。OAuth 2.0定义了四种授权方式。

  • 授权码模式(authorization code)
  • 简化模式(implicit)
  • 密码模式(resource owner password credentials)
  • 客户端模式(client credentials)

(哎哎,只能先大致了解一下授权码模式了)
这是图片

1
2
3
4
5
6
7
8
9
(A)用户访问客户端,后者将前者导向认证服务器。

(B)用户选择是否给予客户端授权。

(C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。

(D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。

(E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。

(第一次编辑结束2024/5/2 3:24)
因特殊原因,qq官方bot开发无限期延迟
(第二次编辑结束2024/5/3 23:19)

Comments