不再使用SSO登录

时间:2017-06-30 07:12:43

标签: c# ms-office single-sign-on

【问题】

该应用是通过引用以下网址实现的,无法再使用SSO登录。

网址:https://blogs.msdn.microsoft.com/omarv/2012/11/15/developing-windows-8-store-apps-for-sharepoint-online-with-sso-single-sign-on/

【从以上网址复制的代码】

const string msoHrdUrl = “https://login.microsoftonline.com/GetUserRealm.srf“;


private async Task<Uri> GetAdfsAuthUrl()

{

   // make a post request with the user’s login name to

   // MSO HRD (Home Realm Discovery) service so it can find

   // out the url of the federation service (corporate ADFS)

   // responsible for authenticating the user

   byte[] response = await HttpUtility.SendHttpRequest(

       new Uri(msoHrdUrl),

       HttpMethod.Post,

       new MemoryStream(Encoding.UTF8.GetBytes(String.Format(“handler = 1 & login ={ 0 }”, this.username))),

       // pass in the login name in the body of the form

       “application/x-www-form-urlencoded“,

       null);


   StreamReader sr = newStreamReader(new MemoryStream(response));

   Dictionary<String, IJsonValue> dict = new Dictionary<string, IJsonValue>();

   HttpUtility.ParseJson(JsonObject.Parse(Encoding.UTF8.GetString(response, 0, response.Length)), dict);


   // the corporate STS url is in the AuthURL element of the response body

   Uri corpAdfsProxyUrl = dict.ContainsKey(“AuthURL“) ? new Uri(dict[“AuthURL“].GetString()) : null;


   return corpAdfsProxyUrl;

}

【现状】

将POST请求发送到“https://login.microsoftonline.com/GetUserRealm.srf”,但我收到了以下错误的回复。

  

错误:“AADSTS90100:请求无效。接受请求参数值'application / x-www-form-urlencoded'无效。”

当我将方法POST更改为GET并将json设置为Accept时,我可以得到一些我想要的值和AuthURL(“https://ADFS.CONTOSO.COM/adfs/ls/?username=USER%40CONTOSO.COM&& ; wa = wsignin1.0&amp; wtrealm = urn%3afederation%3aMicrosoftOnline&amp; wctx =“),但以下行为与以前不同。

Ex)我无法从访问“https://ADFS.CONTOSO.COM/adfs/ls/auth/integrated/?username=USER%40CONTOSO.COM&wa=wsignin1”的Response中找到“wresult”的值。 0安培; wtrealm =瓮%3afederation%3aMicrosoftOnline&安培; wctx =“

【我的问题】

我不确定这个问题何时发生 是否有人有关于此问题的一些信息,例如此身份验证功能已更改? 它最后一次进展顺利是今年1月。

0 个答案:

没有答案