arkid_client.
AuthClient
(base_url, service=None, authorizer=None, **kwargs)[源代码]¶基类:arkid_client.base.BaseClient
认证客户端,用于向 ArkID 服务端请求授权认证信息,并获取访问令牌。
Examples
初始化 < AuthClient > 客户端,以 Access Token 授权方式向 ArkID 服务端 请求对调用的用户进行身份验证 (TODO)
>>> from arkid_client import AuthClient, AccessTokenAuthorizer
>>> ac = AuthClient(authorizer=AccessTokenAuthorizer('<token_string>'))
上述使用 oauth2.0 协议来请求授权,虽然 ArkID Client 暂时还不支持这样做。 但是,这里可以使用任何其它的符合规则的授权器。
arkid_client.
ConfidentialAppAuthClient
(base_url, **kwargs)[源代码]¶基类:arkid_client.auth.client.base.AuthClient
与 ArkID 认证服务端进行通信的 AuthClient
类型的认证客户端。
此客户端必须是已受到 ArkID 官方高度信任的第三方客户端,可凭借
username
和 password
直接向 ArkID 认证端发起授权请求。
最终,它将得到 ArkID 官方默认的认证凭证 oneid_token
。
Methods
start_auth
(username: str, password: str)[源代码]¶开始进行身份认证
(POST /siteapi/v1/ucenter/login/
)
Parameters
username
(string)- 用户唯一标识
password
(string)- 密码
Examples
>>> caac = arkid_client.ConfidentialAppAuthClient(...)
>>> caac.start_auth(username, password)
get_token
()[源代码]¶获取 oneid_token
Examples
>>> caac = arkid_client.ConfidentialAppAuthClient(...)
>>> caac.start_auth('<username>', '<password>')
>>> token = caac.get_token()
auth_to_get_token
(_username: str, _password: str)[源代码]¶简化 oneid_token
的获取流程,大多数时候比传统的获取方式更轻松。
(POST /siteapi/v1/ucenter/login/
)
Parameters
username
(string)- 用户唯一标识
password
(string)- 密码
Examples
>>> caac = arkid_client.ConfidentialAppAuthClient(...)
>>> token = caac.auth_to_get_token(_username, _password)
revoke_token
(authorizer: arkid_client.authorizers.basic.BasicAuthorizer)[源代码]¶撤销 oneid_token
(POST /siteapi/v1/revoke/token/
)
Parameters
authorizer
(BasicAuthorizer)- 特指 < BasicAuthorizer > 类型的授权器
Examples
>>> caac = arkid_client.ConfidentialAppAuthClient(...)
>>> token = caac.revoke_token(authorizer)
auth_token
(authorizer: arkid_client.authorizers.basic.BasicAuthorizer)[源代码]¶校验 oneid_token
所代表的用户是否有某特定权限
(GET /siteapi/v1/auth/token/
)
Parameters
authorizer
(BasicAuthorizer)- 特指 < BasicAuthorizer > 类型的授权器
Examples
>>> caac = arkid_client.ConfidentialAppAuthClient(...)
>>> token = caac.auth_token(authorizer)
封装 self.auth_to_get_token
方法,
通过认证客户端直接获得有效的授权器。
(GET /siteapi/v1/ucenter/login/
)
Parameters
username
(string)- 用户唯一标识
password
(string)- 密码
Examples
>>> caac = arkid_client.ConfidentialAppAuthClient(...)
>>> authorizer = caac.get_authorizer(username, password)