c#,ADFS,sso和OAuth2:怎么样?

时间:2015-12-30 14:04:14

标签: c# oauth-2.0 single-sign-on

我正在开发一个使用C#开发的前端应用程序,该应用程序可以访问某些WS。这些WS是用Java开发的。

要访问这些WS,必须记录用户。身份验证系统使用sso(ssocircle)和ADFS。

正面和背面(WS)应该使用OAuth2; 我是这些技术的新手,无法找到解释所有内容的示例或教程。

我有一个前端模拟,它在java(springOauthClient)中完美运行:当我尝试访问WS时,我在ssocircle身份验证表单上重定向,然后当我输入我的登录名/密码时,i& #39; m重定向回模拟,并获得WS结果,然后我可以调用其他WS而不会再次重定向到登录表单。

我现在要做的是使用OAuth2在c#中实现真正的客户端(前端),但我不知道该怎么做。

我试过了:

string completeUrl2 = "http://localhost:8080/volta-rest-webservices/oauth/authorize?client_id=volta-client&redirect_uri=http://localhost:63441/&response_type=code&scope=read%20write&state=kz3Ylz";

WebRequest request = WebRequest.Create(completeUrl2);




        try
        {
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();

            return Redirect(response.ResponseUri.OriginalString);
        }
        catch (WebException e)
        {
            //TODO log
        }

我已重定向到登录表单,我输入了我的登录名/密码,身份验证运行良好,但是当我应该重定向回我的应用程序时,我收到405错误: "请求方法' POST'不支持" ...页面网址是:http://localhost:8080/volta-rest-webservices/saml/SSO

顺便说一下,我不确定这是正确的url来调用,我应该在oauth / authorize之前调用oauth / token_access吗?我也不确定参数...

这是正确的方法,只需调用一些url或者我必须使用一些外部库吗?

我很困惑......

0 个答案:

没有答案