c# - 在 WCF Webapi 站点上验证 Android 客户端?

标签 c# android authentication rest wcf-web-api

我想用 C# 实现 REST-api。我发现 WCF Webapi 可以做到这一点。 我的第一个问题是如何只允许经过身份验证的用户访问我的 api? 第二个问题是,如果待认证的客户端是Android设备,如何进行HTTP请求进行认证?

谢谢!

最佳答案

他们... 我们做了类似的事情,我们使用基本身份验证+HTTPS, 这意味着用户名和密码将在每个请求的 http header 中传递。

因此,在您的网络服务中,您可以进行身份​​验证,如果它来自无效用户,则将其踢出。

或者,您可以为每个客户端生成一个 GUID,然后要求将 GUID 与每个 http 请求一起传递回搜索,验证 GUID。

在Android设备上,当您发出http请求时,添加http header

授权:基本****

很简单,这是 Android 上的codesnipet

    String baseUrl = this.getValue(ServiceBaseUrlKey);</i>
    DefaultHttpClient client = new ConnectionManager().getHttpClient();//create a httpclient
    HttpGet request = new HttpGet();
    request.setURI(new URI(baseUrl + "Path"));
    //TODO need to wrap up how to apply the basic authentication.
    UsernamePasswordCredentials credentials =  new UsernamePasswordCredentials("UserName", "****");
    request.addHeader(new BasicScheme().authenticate(credentials, request));   
    request.addHeader("Content-Type","Application/JSON");
    HttpResponse response =  client.execute(request);

关于c# - 在 WCF Webapi 站点上验证 Android 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585588/

相关文章:

c# - 从 Azure 函数将批量消息发送到服务总线主题

c# - 如何从 Azure Key Vault 获取 VaultProperties.NetworkAcls 属性

android - 如何更改 android jetpack compose bottomAppBar 图标的颜色?

android - 减慢android Activity 之间的滑动动画?

android - GZIPInputStream 在 Android 2.3 中因 IOException 而失败,但在所有以前的版本中工作正常?

python - 再次来自用户的 check_password()

c# - 将事件处理方法设为静态是否存在任何陷阱?

java - 在 Java Web 应用程序中使用现有的 ldap 服务器对用户进行身份验证

mysql - 部落身份验证后端配置

c# - 是否有一种正确的方法来菊花链式连接类并以正确的方式调用它?