API 认证

针对 ArkID Client 的授权操作,目前仅支持 用户名 + 密码 的形式, 但是这样的授权流程对于用户的隐私信息是不安全的, 所以在后续的 ArkID Client开发中, 我们也许会引入 oauth2.0 或者 OIDC 相关的授权协议来加固 ArkID Client。

授权器基类

ArkIDAuthorizer 为一个授权器的抽象基类

class arkid_client.authorizers.base.ArkIDAuthorizer[源代码]

授权器基类,用于生成有效的授权头部。 支持处理无效的的授权头部。

set_authorization_header(header_dict: dict)[源代码]

获取 HTTP 请求头部的 dict 数据, 并将 {"Authorization": "..."} 形式的授权信息加入其中。 注意:若 Authorization 授权信息已经设置,则此方法将会覆盖原来的授权信息。

handle_missing_authorization(*args, **kwargs)[源代码]

若 HTTP 请求使用此授权器进行访问时出现 401 ( HTTP 请求未经授权)响应, 若授权器可以采取某些措施补救这种情况,其将会更新状态并返回 True; 若授权器针对这种情况无能为力,其也许会更新一些操作,但是更重要的是, 会返回 False

默认情况下,总是返回 False ,不采取任何操作。

授权器类型

以下所有类型的授权器均可从 arkid_client.authorizers 导入

class arkid_client.NullAuthorizer[源代码]

基类:arkid_client.authorizers.base.ArkIDAuthorizer

该授权器不实现任何身份验证功能,并尝试去掉请求头部的认证信息。

set_authorization_header(header_dict)[源代码]

如果存在授权头部信息,则从给定头部信息的 dict 中尝试删除授权标头。

class arkid_client.BasicAuthorizer(oneid_token: str)[源代码]

基类:arkid_client.authorizers.base.ArkIDAuthorizer

使用 ArkID 官方默认的 oneid_token 进行基本认证。 将在请求头中设置 Token 来向 ArkID 服务端发起请求。 Parameters

oneid_token (str)
An basic token for ArkID Auth
set_authorization_header(header_dict: dict)[源代码]

Sets the Authorization header to “token <oneid_token>”