2

SAML および SP 開始の SSO を使用してプロジェクトを実装しようとしています。私のプロジェクトは MS Web API を使用しています。

以下は、CompenentSpace を SAML ライブラリとして使用して SAML ハンドシェイクを開始するコントローラーのコードです。

   public IHttpActionResult SAMLInitiateRequestToIdp(string DistrictToken)
        {
            _idsRepository.SsoLogEntry( ServerAddress, "SAML/ADFS", null, null, null, 0, "Student", "Info Only", SAMLConfiguration.Current.PartnerIdentityProviderConfigurations + " "/* + Response.ToString()*/, null, null, null);
            string partnerIdP = "simon";
            try
            {
                MapDistrictClaim = false;
                DistrictClaim = DistrictToken;


                partnerIdP = _samlHelper.initiateRequestToSp(DistrictClaim, ServerAddress);

                SAMLServiceProvider.InitiateSSO(System.Web.HttpContext.Current.Response, null, partnerIdP);
                return Ok(new { data = "get ok" });


            }
            catch (Exception ex)
            {

                return Ok(new { data = "get ok" });

            }
        }

「catch」句について心配する必要はありません。私はそれが何もしないことを知っています。

私が直面している問題は、このメソッドを呼び出すと次の応答が返されることです。

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://adfstest.mywebsite.com/adfs/ls/idpinitiatedsignon?SAMLRequest=AAAfZLLbtswEEV%2FReBe1tsPwjLgSDFqIG2FyOmim4IixzYBiVQ5lNsC%2BfhQctKmC2c7jzv3zMwaWdf2dDvYs3qEnwOg9fZlTn6INFs0i0Xjz8MF%2BGlzjPxlkzB%2FnsJKLJciTpuIeN%2FAoNQqJ%2FEsJN4ecYC9QsuUdaEwyvxw5UfJIU5oGNM4ma3C5DvxSjdFKmanzrO1PdIgYOKI1iVmnBkAw80gUarTjOtuygUtBlL0UkkrmQWB8qS0It5OGw6T%2F5wcWYsw%2BqgYorzA30hltNVct3dSCSeak8EoqhlKpIp1gNRyWm8%2FP1DHQZtrEdJPh0PlV1%2FrA%2FG2iGBGw4VWOHRgajAXyeHp8eEfAqK%2BRXCJg1H%2Flszk8CIFmC%2FOTk6ieRY%2Fh2mYbLO0cDsvMz8tw3t%2FWawiv5jv7nb3izTLVvFzzZRXSjhp70nJowTh1fysdeuCaI3klni%2Fu1YhnQ79MXj%2FuiWyWY%2FVdLqnedf%2FcTt7gyObsazgtWt5BXzD24t%2BHbwTv07q6Yi9LyvdSv5nPGnH7O1h0SyaIlL4x6mUDgp74BO%2Fu1Xb6l%2BFAfclObFmcNsNNtep%2F3%2F65gU%3D&amp;SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1&amp;Signature=Dv9lr04SrKwRPxKs%2FLpqAqDsWPMcS%2BIFy%2FsLLWcAivf8s6WiV4dvei5LBa4MnYy4hXAyVYJ0JM7L6pBXaPCdz%2Fb5UtF525%2FQi%2Bpv8alyaplWJbXfgXWvjuRY%2FTxpnNN0wVGk7f6ZkCAmDEeZcSNNwW2YJGBvTk5kUORvQq1VhsMhZZmf3Q0VDRdjrTSzQ9K%2BbVEptm9Ed86Jb5I%2BYutc1U43FvSIQTNkpm8phC%2F3BlfyhbDRdMn3sSmCNkyel86oXfl7pnnozpDqPFWc6SRWaWJ%2BMv1IWs2SzcHbfvRAnkTdxx3Gokp%2Fd74f77oJLkUYNKgqsFIhrc6qSNqjO29heA%3D%3D">here</a>.</h2>
</body></html>
{"data":"get ok"}

最初の問題についてコンポーネント スペースにメールしたところ、次のような返事が返ってきました。

これは、302 リダイレクトがブラウザに返されることを意味します。たとえば、以下を参照してください。

ブラウザは、エンコードされた SAMLRequest を含むこの URL に対して GET を実行する必要があります。」

ブラウザがリダイレクトするのではなく、この応答を受け取る理由はありますか?

4

1 に答える 1