我正在开发一个使用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或者我必须使用一些外部库吗?
我很困惑......