# 社会化登录模块

此模块封装了社会化登录的功能,可以通过简洁的 API 快速使用社会化登录获取用户信息。

发起社会化登录授权请求:

import { AuthenticationClient } from "authing-js-sdk"
const authenticationClient = new AuthenticationClient({
   appId: "YOUR_APP_ID",
})
await authenticationClient.social.authorize("github", {
   onSuccess: (user) => { console.log(user) },
   onError: (code, message) => {  }
})

# 发送授权登录请求

SocialAuthenticationClient().authorize(provider, options)

发送授权登录请求,该方法会直接打开一个新窗口,跳转到第三方社会化登录服务商(如 GitHub、微信、钉钉等)的登录授权页面,用户 完成授权之后,会自动关闭此窗口,并触发 onSuccess 回调函数,通过此函数,你可以获取到用户信息。

# 参数

  • provider <string> 社会化登录服务商的标志。
  • options <object>
  • options.popup <boolean> 是否通过弹窗的方式打开社会化登录窗口,如果设置为 false,将会以 window.open 的方式打开一个新的浏览器 tab 。 默认值为 : true
  • options.onSuccess <Function> 用户同意授权事件回调函数,第一个参数为用户信息。
  • options.onError <Function> 社会化登录失败事件回调函数,第一个参数 code 为错误码,第二个参数 message 为错误提示。详细的错误码列表请见:详细说明请见:Authing 错误代码列表 (opens new window)
  • options.position <object> 只有当 options.popup 为 ture 的时候有效,弹出窗口的位置,默认为 { w: 585, h: 649 } 。

# 示例

// 使用 GitHub 登录

const authenticationClient = new AuthenticationClient({
   appId: "YOUR_APP_ID",
})

await authenticationClient.social.authorize("github", {
   onSuccess: (user) => { console.log(user) },
   onError: (code, message) => {  },
   // 自定义弹出窗口的位置
   position: {
     w: 100,
     h: 100
   }
})
// 使用新建浏览器 tab 的形式打开社会化登录页面

const authenticationClient = new AuthenticationClient({
   appId: "YOUR_APP_ID",
})

await authenticationClient.social.authorize("github", {
   popup: false,
   onSuccess: (user) => { console.log(user) },
   onError: (code, message) => {  },
})

# 返回值