Authing 知识库
🛠 开发资源🥂 集成案例🔭 常见问题🖥 控制台
1.0.0
1.0.0
  • 欢迎
  • Authing 概述
  • 快速开始
    • 第一个应用
    • 基础概念
    • 实现单点登录
    • 控制台概览
    • 部署模型
  • 进阶指南
    • 理解认证和授权
      • 用户名 - 密码认证
      • 邮箱 - 密码认证
      • 手机 - 验证码认证
      • JWT Token 释义及使用
      • 验证 JWT Token
    • 配置用户权限
    • 最佳开发实践
    • 接入小程序扫码登录
      • 接入私有化小程序
    • 接入社会化登录
    • 接入 OAuth 2.0
      • 创建 OAuth 应用
      • 使用 OAuth 授权
    • 接入 OpenID Connect
      • 创建 OIDC 应用
      • 使用 OIDC 授权
      • 理解 OIDC 流程
      • OIDC 常见问题
    • 配置 LDAP 服务
    • 使用 Authing 的 LDAP 用户目录
    • 接入 SAML
      • 创建 SAML Identity Provider 应用
      • 创建 SAML Service Provider 应用
      • 理解 SAML 流程
      • 同时使用 Authing 作为 SP 和 IdP
      • 使用 SAML Identity Provider
        • 在阿里云访问管理中使用
        • 在腾讯云访问管理中使用
        • 在 Auth0 中使用
      • 使用 SAML Service Provider
        • 与 Auth0 SAML IdP 对接
        • 与 SSOCircle SAML IdP 对接
    • 使用 Webhook
    • 错误代码
  • 开发资源
    • 开发资源
    • API(GraphQL)
    • Guard for Web
    • Guard VS 自定义 UI
    • SDK for Web
      • 读取/修改用户权限
      • 绑定社会化登录
      • 管理 MFA 口令
      • 自定义请求链接
    • SDK for 微信小程序
    • SDK for Java
    • SDK for Objective-C
    • SDK for Python
    • SDK for Go
    • SDK for PHP
    • 函数计算(FaaS)
  • 通信
    • 邮件
    • SMS
  • MFA
    • 配置 MFA 安全口令
    • 接入 MFA
  • 安全
    • 配置 Web 安全域
    • 配置用户池密码强度
    • 配置密码加密函数
  • 其他
    • 常见问题
    • 集成案例
      • 使用 Authing 补充 AWS 中国区 Cognito User Pool
    • 社交互联数据
      • Authing 与社交互联数据
    • 为 Authing 贡献 SDK
      • 了解 Authing 的模块
Powered by GitBook
On this page
  • 了解 Authing 的模块
  • 用户模块
  • OAuth模块
  • 程序流程
  • 需要的 Client 列表
  • 其他规范和注意事项
  • 接下来你可能还需要

Was this helpful?

  1. 其他
  2. 为 Authing 贡献 SDK

了解 Authing 的模块

要开始 Authing SDK 的编写,需要先了解 Authing 的各大模块。

了解 Authing 的模块

要开始 Authing SDK 的编写,需要先了解 Authing 的模块分布。

Authing 对外开放的有两大模块:

  1. 用户模块(UserService)

  2. OAuth 模块(OAuthService)

在请求这两个模块的方法时,建议初始化不同的 Graphql Client 进行数据交互。

用户模块

用户模块负责处理用户的注册/登录/权限验证等操作。

请求链接

https://users.authing.cn/graphql

请求方式

以 JavaScript 为例

...

const httpLink = 'https://users.authing.cn/graphql';
this.UserService = new ApolloClient({
      link: concat(authMiddleware, httpLink),
      cache: new InMemoryCache()
});

...

OAuth模块

OAuth 模块负责 OAuth 登录/注册等操作。

请求链接

https://oauth.authing.cn/graphql

请求方式

以JavaScript为例

...

const httpLink = 'https://oauth.authing.cn/graphql';
this.OAuthService = new ApolloClient({
      link: concat(authMiddleware, httpLink),
      cache: new InMemoryCache()
});

...

程序流程

括号内的为对应使用的模块

  1. 认证 Client Id 和 Secret 是否合法 (UserService);

  2. 如果认证失败,则抛出错误;

  3. 如果认证成功,则初始化 UserService 和 OAuthService;

需要的 Client 列表

建议在编写 SDK 时,初始化以下三个模块:

  1. AuthService:用来认证 ClientId 和 Secret 是否正确,以及做一些应用所有者才有权限做的事情

  2. UserService:用来处理当前登录/注册操作,以及当前用户有权限做的事情

  3. OAuthService:用来处理 OAuth 登录/注册动作

其他规范和注意事项

  1. 写好单元测试,测试好每一个接口

  2. 做好错误处理,边界检查

接下来你可能还需要

查看 GraphQL 文档以使用 GraphQL 与 Authing 服务器交互:

Previous为 Authing 贡献 SDK

Last updated 6 years ago

Was this helpful?

点击查看 的使用方法,以体验流程。

使用面向对象的编程方法,方法名称及参数参考文档:

Authing 的某些 GraphQL 查询需要发送不同的token,详情请看 中的相关说明

这里
JavaScript SDK
用户接口
GraphQL 请求列表
API(GraphQL)