哦,我明白了...我正在对 tou ie OAuth 建议的组件进行研发...到目前为止我能做的是:通过 SSL 公开一个 webHttpBinding 端点,我的 javascript 客户端可以使用 $Ajax 调用 SSL Secure 服务使用 JSONP ......这意味着通道是加密的......现在我需要的是在 WCF 中应用 OAuth......你能指导我 Javascript 客户端如何理解 OAuth 吗?我的意思是我从这里(http://oauth.googlecode.com/svn/code/csharp/OAuthBase.cs)下载了用于 OAuth 的服务器代码,但是如何使用 javascript 调用此类服务?在这一点上我正在做研发,如果我得到任何答案,我会发布。
这是我通过 SSL 配置的 REST WCF 希望对某人有所帮助:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="jsonpSsl" crossDomainScriptAccessEnabled="true">
<security mode="Transport" />
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="JsonServiceBehaviors">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpsGetEnabled="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttpBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="WCFTransportSecurity.TransportSecurityService" behaviorConfiguration="JsonServiceBehaviors">
<endpoint address="" binding="webHttpBinding" bindingConfiguration="jsonpSsl" contract="WCFTransportSecurity.ITransportSecurityService" behaviorConfiguration="webHttpBehavior"/>
</service>
</services>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
这是对服务的 JQuery AJAX 调用(希望对某人有所帮助)
$.ajax(
{
type: "GET",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
url: "https://localhost/WCFTransportSecurity/TransportSecurityService.svc/getdata/" + $("#TextBox1").val(),
success: function (a) { $("#lblResponse").text(a); },
error: function (a) {$("#lblResponse").html("Error while Processing: Error Code: " + a.status + "<br/>and Error Message: <span style='color:red'>" + a.statusText + "</span>"); }
});