【问题标题】:Web api 2 security - key for apiWeb api 2 安全性 - api 的密钥
【发布时间】:2016-08-22 05:54:44
【问题描述】:

我正在构建一个 API,我的公共移动应用(xamarin 表单)将调用它来获取信息。但是,出于安全原因,为了将 API 的用户仅限于我的应用程序,我希望公共移动应用程序(xamarin 表单)传递一个能够调用 API 的密钥。那么基本身份验证是最好的选择吗?还是有其他方法?

【问题讨论】:

  • 只需使用 SPA 模板中的内置 OAuth 内容即可。

标签: authentication asp.net-web-api2 xamarin.forms


【解决方案1】:

您可以在 Web api 项目中使用任何基于身份验证的机制。最好的是使用 Owin 的最新 Identity 2.0。

OAuth 是一种用于身份验证的开放标准,它支持资源 所有者通知资源提供者应授予权限 给第三方,以便在不共享的情况下访问他们的信息 资源所有者身份。

在您的 Xamarin 客户端项目(移动应用)中,使用 Xamarin.Auth SDK 对您的用户进行身份验证。它提供了许多功能,还可以帮助您扩展和使用社交身份验证。

Xamarin.Auth 是一个跨平台的 API,用于验证用户和 存储他们的帐户。它包括提供的 OAuth 身份验证器 支持消费身份提供者,如谷歌、微软、 Facebook 和 Twitter。

使用 OAuth 身份提供者时的身份验证流程如下:

  1. 应用程序将浏览器重定向到身份提供者 URL。这 URL 查询参数指示所请求的访问类型。

  2. 身份提供者处理用户身份验证,并返回一个 应用程序的授权码。

  3. 应用程序交换授权码、客户端 ID 和 来自身份提供者的访问令牌的客户端密码。

  4. 应用程序使用访问令牌访问身份上的 API 提供者,例如请求基本用户数据。

应用程序使用 Xamarin.Auth 提供的 OAuth2Authenticator 和 OAuth2Request 类来实现身份验证流程的应用程序端。

Authenticating Users with an Identity Provider Using the Xamarin.Auth component for authentication implementing的详细解释可参考here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多