当前位置: 首页 > 知识库问答 >
问题:

SAML注销失败:发行人不匹配(NodeJS Okta)

南门飞扬
2023-03-14

我正在尝试用SAML注销,Okta是我的IdP。我在Okta日志中看到“发卡机构不匹配”:

我已经设置了单次注销:

上传的证书是我的SP公钥。

代码方面:

const config = require('../../app/config')
const saml = require('saml2-js')

module.exports = {
  sp: new saml.ServiceProvider({
    entity_id: `${config.HOSTNAME}/saml/assert`,
    private_key: config.SAML_SP_PRIVATE_KEY,
    certificate: config.SAML_SP_PUBLIC_KEY,
    assert_endpoint: `${config.HOSTNAME}/saml/assert`,
    allow_unencrypted_assertion: true,
    sign_get_request: true
  }),

  idp: new saml.IdentityProvider({
    sso_login_url: config.SAML_SSO_LOGIN_URL,
    sso_logout_url: config.SAML_SSO_LOGOUT_URL,
    certificates: config.SAML_SSO_IDP_CERT,
    sign_get_request: true
  })
}

以及注销功能:

if (!req.signedCookies.token) {
  res.status(400).send('Missing token')
  return
}
const tokenData = await jwtVerify(req.signedCookies.token, config.AUTH_SECRET)
const options = {
  name_id: tokenData.name_id,
  session_id: tokenData.session_id,
  sign_get_request: true
}

const createLogoutRequestUrl = util.promisify(sp.create_logout_request_url).bind(sp)
const logoutUrl = await createLogoutRequestUrl(idp, options)
res.redirect(logoutUrl)

共有1个答案

吴欣悦
2023-03-14

OK发现我的错误:

我的SP entity\u id应该是元数据URL

entity_id: `${config.HOSTNAME}/saml/metadata`,

配置也应反映在okta中:

 类似资料:
  • 我是okta的新手saml。单点登录集成成功,现在我想做单点注销。我在Okta做了以下工作- 1)单注销网址:http://localhost:8080/spring-security-saml2-sample/saml/logout 2) SP发行人:http://localhost:8080/spring-security-saml2-sample/saml/metadata 3) 创建证书并

  • 我在ADFS上有saml。一切正常,但我有不止一个依赖方的信任。然后,当我登录到我的一个webapp(信赖方信任)并注销时,一切都很好。 但当我登录到第一个web应用程序,然后再登录到第二个web应用程序时,我可以在ADF上使用cookie:samleSession,它结合了两个会话,然后当我从第一个web应用程序注销时,我会重定向到第二个web应用程序上的注销页面,并且不会删除网站1上的cook

  • 我已经通过SAML通过基于OpenAM的IDP验证了我的应用程序。现在我想通过SAML注销我的应用程序。所以我的问题是: > 我选择了“spSingleLogoutInit.jsp”实现,这样做对吗? 如果是,而不是RelayState,我已经给出了我的应用程序的登录页面,即“http://www.myexample.com/login.do. 3.在sessionIndex中,我需要提供当前会话

  • 我已经使用spring-saml建立了一个联合。SSO过程工作正常,但是我有一个单一注销的问题。 问题#1是,在我从SP调用saml/注销后,它从Idp注销,也从我的SP注销,但它不会重定向到Idp登录页面。 问题#2是,当我让其他SP参与处理我的SP时,我的SP不知何故断开了链,它将其他SP引导到我的SP注销页面,而不是Idp注销页面。 这是我的配置: 这是我的日志: 有人能帮我设置配置吗 谢啦

  • 我使用的是Drools 4,当我用==比较两个hashmap值时,它不起作用。所有其他运营商,如 评估((abc.getValue(“123”))。intValue()==(abc.getValue(“456”))。intValue()) 规则: 我们正在使用的对象: 提前感谢。

  • 我有一个关于SAML 2.0和SLO的问题<在SLO过程中,作为Idp,我们启动注销并向SP发送注销请求,SP则返回注销响应。我们在IDP端部分注销,用户在IDP端注销,但是如果我返回SP站点,我仍然登录<这是IdP侧还是SP侧的问题?我的意思是SP应该终止会话并向IDP发送注销响应,还是IDP的任务是终止双方的会话? 谢啦