0

我是 SSO 的新人。最近我专注于一个使用 OIDC 的项目。我尝试使用 oidc-client 来解决问题。这是我的设置。(我删除了详细网址,但它们是有效的)。

var mgr = new Oidc.UserManager({
    userStore: new Oidc.WebStorageStateStore({ store: window.localStorage }),
    metadata: {
      issuer: 'https://foo.com/',
      authorization_endpoint: 'https://foo.com/',
      userinfo_endpoint: 'https://foo.com/',
      end_session_endpoint: 'https://foo.com/',
      jwks_uri: 'https://foo.com/'
    },
    keys: [
      {
        'kty': 'RSA',
        'kid': 'some info',
        'use': 'some info',
        'n': 'some info',
        'e': 'some info'
      }
    ],
    client_id: 'aaaaa',
    redirect_uri: 'https://foo.com/',
    response_type: 'id_token token',
    scope: 'openid'
  })
  Oidc.Log.logger = console
  Oidc.Log.level = Oidc.Log.INFO
  mgr.signinRedirect()
    .then(function () { console.log('Hello') }).catch(function (err) {
      console.log(err)
    })

但它没有重定向到authorization_endpoint。相反,它会引发如下错误

oidc-client.min.js?dd17:1 SigninRequest.ctor: No authority pass error @ oidc-client.min.js?dd17:1 SigninRequest @ oidc-client.min.js?dd17:3 (匿名) @ oidc- client.min.js?dd17:3 Promise.then (async) createSigninRequest @ oidc-client.min.js?dd17:3 (anonymous) @ oidc-client.min.js?dd17:3 Promise.then (async) _signinStart @oidc-client.min.js?dd17:3 signinRedirect @oidc-client.min.js?dd17:3 onSubmit @HelloWorld.vue?140d:71 点击@HelloWorld.vue?1f3f:21 调用者@vue.runtime.esm .js?2b0e:2023 fn._withTask.fn._withTask@vue.runtime.esm.js?2b0e:1822

我在 vue-cli 环境下运行代码。但我认为这不会导致问题。如果您遇到类似的问题,请告诉我如何解决。谢谢你。

4

1 回答 1

0

请参阅https://github.com/IdentityModel/oidc-client-js/wiki中的所需设置

所需设置

  • authority(字符串):OIDC/OAuth2 提供者的 URL。

从错误和您的代码看来,您没有设置权限

于 2018-09-05T19:22:52.790 回答