使用用户标识从移动客户端访问WCF服务

时间:2016-11-03 13:26:07

标签: asp.net-mvc wcf authentication mobile architecture

我正在开发一个Web API,它有一个Web(ASP.NET MVC),WCF服务和移动界面(Android / iPhone),我有API的令牌认证。

MVC和API具有用户身份以验证用户,但WCF服务将不具有此用户身份。

在这里,我需要从安全的移动客户端访问WCF服务。

申请结构,

enter image description here

那么,如何验证或与WCF服务共享用户身份?

我可以在WCF服务中使用相同的OAuth令牌来识别用户吗?或者有其他标准方法吗?

2 个答案:

答案 0 :(得分:0)

我有类似的申请。我使用以下命令添加令牌(以前在身份验证后收到):

使用jQuery进行常见的ajax调用:

$.ajax({
    beforeSend: function (request)
    {
        request.setRequestHeader("Authority", authorizationToken);
    },
    // Below you set type, url, data, ...
});

在这里,使用Cordova + Ionic + Angularjs:

$http.defaults.headers.common.Authorization = authorizationToken;
if ($http.defaults.headers.common.Authorization.Parameter != undefined) {
    $http.defaults.headers.common.Authorization.Parameter = authorizationToken;
}

希望它有所帮助。

答案 1 :(得分:0)

根据给定的高级细节,ADFS应该是满足您需求的正确配置,同样可以为基于WCF的服务实现身份验证。

有关详细方法,请参阅以下MSDN指南链接。

A Guide to Claims-Based Identity and Access Control

但是,我假设这个解决方案适用于新要求,如果是这样,为什么当Web API可以管理外部http请求时仍需要WCF服务?并且假设根据图表没有通过WCF服务进行数据库交互。