Note for NodeLoc Conn Students Using Oauth2

NodeLoc 是支持 OIDC 协议的,这两天想把 new-api 加一个 NodeLoc 的登陆,然后下载部署了一个 new-api,发现后面是支持 OIDC 的,那么就很简单了。

Well-Known Url
https://conn.nodeloc.cc/oauth2/.well-known/openid-configuration

保存即可。

正常保存会自动从 wellknow 地址拉取相关 url 信息,但是new-api好像有bug,会报错。

那我们手动输入一下。

* **OAuth2授权**: https://conn.nodeloc.cc/oauth2/auth
* **Token端点**: https://conn.nodeloc.cc/oauth2/token
* **用户信息**: https://conn.nodeloc.cc/oauth2/userinfo

三个地址分别对应以上,然后保存即可。

7 Likes

域名不换回来吗

这个换起来有点麻烦,暂时不换了。

要怎么保存啊? :xhj001:
image

new-api的bug感觉,我看下源码看看能不能绕过去

有时间搭建一个试试

看了下源码是这样的

  const submitOIDCSettings = async () => {
    if (inputs['oidc.well_known'] && inputs['oidc.well_known'] !== '') {
      if (
        !inputs['oidc.well_known'].startsWith('http://') &&
        !inputs['oidc.well_known'].startsWith('https://')
      ) {
        showError(t('Well-Known URL 必须以 http:// 或 https:// 开头'));
        return;
      }
      try {
        const res = await axios.create().get(inputs['oidc.well_known']);
        inputs['oidc.authorization_endpoint'] =
          res.data['authorization_endpoint'];
        inputs['oidc.token_endpoint'] = res.data['token_endpoint'];
        inputs['oidc.user_info_endpoint'] = res.data['userinfo_endpoint'];
        showSuccess(t('获取 OIDC 配置成功!'));
      } catch (err) {
        console.error(err);
        showError(
          t('获取 OIDC 配置失败,请检查网络状况和 Well-Known URL 是否正确'),
        );
        return;
      }
    }

也就是想在前端跨域请求,所以被阻止了。

看不懂!顶一个

有什么解决方案吗?

再试一下,我服务器设置了跨域规则。

还是报错

刷新一下浏览器缓存, 我测试可以了。

Well-Known Url 是 https://conn.nodeloc.cc/oauth2/.well-known/openid-configuration

2 Likes

可以了 :xhj006:

授权登录后貌似登录不进去
是我太傻了,没开注册

扩展和其他站的联动性的东西吗

:xhj13: