0
在我的項目中,我使用庫DotNetOpenAuth中的OpenIdProviderWebForms和OpenIdRelyingPartyWebForms。DotNetOpenId「登錄失敗」。登錄中的字符
驗證是通過用戶對域服務器的請求完成的。
登錄我的用戶的格式爲test_dm \用戶名和[email protected]
授權的供應商是成功的,但是當openid.GetResponse();我收到錯誤「登錄失敗(發送直接消息或獲取響應時發生錯誤)」。
正如我發現的,由於字符而出現問題。和/!(我用\!替換\)在用戶名中。
對不起,我的英文。
在這種情況下使用'Uri.EscapeDataString'不會導致問題(因爲它不會取代它)。 隨着反斜槓不同的情況 - 它被替換,但是當你創建一個Uri轉義序列被替換爲一個斜槓,並且我有LocalIdentifier像以前那樣覆蓋這些數據。 '公共靜態標識BuildIdentityUrl(用戶名字符串){ \t返回新的URI(HttpContext.Current.Request.Url,HttpContext.Current.Response.ApplyAppPathModifier( 「〜/ user.aspx /」 + Uri.EscapeDataString(用戶名)) ); }' – ABSENT