第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法為 SAML 響應(yīng)創(chuàng)建正確的簽名

無(wú)法為 SAML 響應(yīng)創(chuàng)建正確的簽名

Go
富國(guó)滬深 2022-05-23 15:43:36
我在我們的項(xiàng)目中使用go-saml庫(kù)來(lái)啟用 SSO,其中服務(wù)提供商將是 Salesforce,身份提供商將是 Golang 代碼。Golang 代碼將首先驗(yàn)證用戶,然后創(chuàng)建一個(gè) SAML 響應(yīng)以允許用戶登錄 Salesforce。我是 Golang 的新手,并遵循創(chuàng)建此庫(kù)的 SAML 響應(yīng)(如果充當(dāng) IdP)。因此,到目前為止,我能夠使用它創(chuàng)建一個(gè) SAML 響應(yīng),但在根據(jù)要求對(duì)其進(jìn)行自定義時(shí)面臨一些挑戰(zhàn)。我面臨的第一個(gè)挑戰(zhàn)是在條件塊中添加AudienceRestriction ,如下所示:-<saml:Conditions NotBefore="2020-03-15T16:33:16.23103491Z" NotOnOrAfter="2020-03-15T16:43:16.23104017Z">         <saml:AudienceRestriction>                <saml:Audience>https://saml.salesforce.com</saml:Audience>         </saml:AudienceRestriction> </saml:Conditions>我試圖在代碼中添加它,但似乎AudienceRestrictions未在條件對(duì)象中定義。authnResponse := saml.NewSignedResponse() authnResponse.Conditions.AudienceRestrictions = "https://saml.salesforce.com"我沒(méi)有找到任何方法在 Salesforce 必須的條件塊中添加上述塊。請(qǐng)建議我這樣做的一些方法。我還必須在條件塊下方添加AuthnStatement,如下所示:-<saml:AuthnStatement AuthnInstant="2020-03-01T11:28:31.396Z">   <saml:AuthnContext>    <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</saml:AuthnContextClassRef>    </saml:AuthnContext> </saml:AuthnStatement>即使在 SAML 響應(yīng)中手動(dòng)添加上述塊后,我在使用 Salesforce SAML 驗(yàn)證器驗(yàn)證 SAML 響應(yīng)時(shí)也會(huì)收到以下錯(cuò)誤驗(yàn)證簽名...響應(yīng)是否已簽名?true斷言是否已簽名?false響應(yīng)簽名中的引用有效keyinfo 中是否提供了正確的證書(shū)?真的簽名或證書(shū)問(wèn)題響應(yīng)中的簽名無(wú)效我已經(jīng)生成了一個(gè)公鑰(自簽名 .pem 證書(shū))和一個(gè)私鑰。之后,我已將公鑰上傳到 Salesforce,并在代碼內(nèi)部使用私鑰和公鑰來(lái)生成 SAML 響應(yīng)。我不知道為什么會(huì)收到簽名無(wú)效錯(cuò)誤。如果您對(duì)我有任何建議,請(qǐng)告訴我。如果您想查看我的 Golang 代碼 - https://play.golang.org/p/U9dXZblTHG1
查看完整描述

1 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

可以通過(guò)提供的功能添加受眾:

authnResponse := saml.NewSignedResponse()

authnResponse.AddAudienceRestriction("https://saml.salesforce.com")

身份驗(yàn)證上下文可以通過(guò)另一個(gè)函數(shù)添加:

authnContext := "urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"

sessionIndex := "session_1"

authnResponse.AddAuthnStatement(authnContext,sessionIndex)

作為建議,請(qǐng)嘗試使用更成熟、成熟的庫(kù)(例如 OpenSAML 或 simpleSAMLphp)來(lái)生成 SAML 響應(yīng)。如果這有效但 go-saml 無(wú)效,那么您可以繼續(xù)下一步。另一方面,如果您通過(guò)另一種方法生成的斷言也失敗了,那么這可能是您使用密鑰或斷言內(nèi)容而不是庫(kù)所做的任何問(wèn)題。


查看完整回答
反對(duì) 回復(fù) 2022-05-23
  • 1 回答
  • 0 關(guān)注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)