单点登录必须要通过@authing/sso这个实现吗?

import { Authing } from '@authing/web';
this.sdk = new Authing({
        domain: 'test',
        appId: 'ddd',
        redirectUri: 'djjd',
        userPoolId: 'ddkd',
      });
 startWithRedirect() {
      this.sdk.loginWithRedirect();
    },

已经通过上面的方法接入了跳转登录。

还想接单点登录,必须要安装@authing/sso再写一遍下面的吗?

var authingSSO = new AuthingSSO.AuthingSSO({
    appId: 'AUTHING_APP_ID',
    origin: 'https://{用户池域名}.authing.cn',
    redirectUri: '你的业务软件路由地址',
  })

是不是用@authing/sso 进行跳转登录页的管理,就不用@authing/web 就行了?

用 Guard,跳转模式吧。

对,是跳转的模式;是不是用@authing/sso 进行跳转登录页的管理,就不用@authing/web 就行了?
只需要@authing/sso 用这一个就够了?

对,根据你使用的框架,选择安装其中一个包即可。无需重复使用多个 SDK。

https://docs.authing.cn/v2/reference/guard/v2/web.html#方法一-安装-authing-library

光用这个@authing/web能实现单点登录吗?
我看单点登录的文档都是用这个@authing/sso

不建议混用哈。你前几天好像已经在用 Guard 了,基本上能覆盖你大部分登录场景。

话说这个帖子里报错找到原因了吗?我这边没复现,挺好奇的。有空了提供一个最小复现 demo。或者加我 wx:1047832475,远程看下。

哈哈哈,我看文档有的用Guard 有的用 @authing/sso ,还有个用 @authing/web ,我就比较懵。

前几天那个问题,我把node_modules 的包删了,重新安装了一遍就好了,也不知道为啥。

我现在又用@authing/web这个了,但是我没有实现单点登录,还需要您帮忙看下!

我就是在两个项目中都是如下写法

import { Authing } from '@authing/web';
this.sdk = new Authing({
        domain: 'test',
        appId: 'ddd',
        redirectUri: 'djjd',
        userPoolId: 'ddkd',
      });
 startWithRedirect() {
      this.sdk.loginWithRedirect();
    },


 async getLoginState() {
      const state = await this.sdk.getLoginState();
      console.log('state>>>>', state);
      this.hasLogin = !!state;
}

在其中一个应用中跳转到登录页登录之后,getLoginState 能获取已登录登录了,但是再另一个就获取到的是未登录,这是为啥

1、你是用的 Vite 启动的项目?可能是 Vite 缓存导致的,删掉 node_modules/.vite 即可。

2、如果要实现单点登录效果,需要在控制台中将两个应用加入『单点登录』:

3、同一个项目中,不要同时混用多个 SDK 或 Guard 哈,首先没必要;其次时间长了,你可能会忘记之前的某些操作,来回切换成本大。

嗯嗯,我已经把不需要的插件卸载了。
加入到了,而且 根据文档 进行了如下配置

你的具体需求是啥?

  • Guard 嵌入模式可以在你项目中展示登录面板。
  • 跳转模式可以到托管页实现登录,包括 SSO,已经包含 @authing/sso 的所有功能。

另外看下 @authing/sso 的文档哈,它暂时不适合与其他 SDK 及 Guard 混用。这也是接下来规划中要解决的。

如果你只是想实现单点登录,用 Guard 跳转模式即可。

目前我只用了一个插件就是’@authing/web’
我想只用@authing/web 实现单点登录

哦,好,那就提供一个最小复现 demo,用的什么框架?我去看下。

https://github.com/dalinna/demo-auth

OK,仓库给我(zhaoyiming0803)加个权限,一会儿给你 PR。

是两个项目,我的两个项目写的是一样的,所以就push了一个

我把另一个项目也加上了,您帮我看下 https://github.com/dalinna/auth-demo

https://github.com/dalinna/auth-demo 这个仓库 404,检查是设置为 private 了吗?重新设置为 public哈,或者你直接把两个 Demo 放到一个仓库的不同目录下也行。

改成public了

已回复 issue,你把代码 copy 过去就能用。