选择身份验证协议

更新时间: 2014年2月

 

DataMarket 徽标

创建一个应用程序,并在 Marketplace 上不断扩张的广泛用户群体中对它进行营销。不管你的应用程序是否使用 Marketplace 数据,你都可以成为社区的成员,利用 Marketplace 销售你的应用程序。Marketplace 将会执行设置和计费,让你获得回报。如果你的应用程序使用 Marketplace 数据,则必须对用户进行身份验证,并授权其访问数据集。

Azure Marketplace (WAM) 支持两种身份验证协议:HTTP 基本身份验证和 OAuth。决定使用哪个协议取决于应用程序的用户及其使用方式。

HTTP 基本身份验证和 OAuth 身份验证都可以对用户进行身份验证,并相应地允许或拒绝用户访问受保护资源。

如果你可以回答有关应用程序的以下问题,则可以决定哪种协议更适合你:

  • 我是否要在 Marketplace 上销售此应用程序?

  • 用户是否要访问一个或多个 Marketplace 数据集?

如果对上述一个或两个问题回答“是”,则需要使用 OAuth 身份验证协议。

HTTP 基本身份验证的 Marketplace 实现会忽略的用户 ID,并且只需要一个用作密码的有效机密帐户密钥。你可以忽略用户 ID,如果你想要自行管理使用情况和计费,则可以使用该协议来识别特定的用户。如果应用程序使用 HTTP 基本身份验证协议访问 Marketplace:

  • 所有访问都通过单个帐户进行。

  • 所有用户共享并使用单个密码(Marketplace 帐户密钥)。
    不管是在代码中包含还是由用户输入帐户密钥,帐户密钥都会降低私密性和机密性。因此,它可能会带来滥用安全漏洞。

  • Marketplace 向单个帐户(帐户密钥的所有者,很可能是你自己)计收所有访问费。

  • 删除一个用户的访问权限(通过更改帐户密钥)会删除所有用户的访问权限。

  • 只有帐户密钥所有者订阅的数据集才可供用户使用。

  • 如果你希望每个用户支付其自己的使用费,则你必须管理他们的个人使用并向他们计费。

请参见在 Marketplace 应用程序中实现 HTTP 基本身份验证

OAuth 的 Marketplace 实现利用用户的 Windows Live ID 和密码以及应用程序的注册密钥 (client_id) 进行身份验证并授予对数据集的访问权限。使用 OAuth 可以提高安全性,例如,可对客户端和用户进行身份验证,以及直接向客户端颁发访问令牌,而不会潜在地向他人(包括资源所有者)泄露机密。

如果应用程序使用 OAuth 协议访问 Marketplace:

  • 必须将应用程序注册到 Marketplace。

  • 每个用户必须有 Windows Live ID。

  • 所有访问都通过用户的个人帐户进行。

  • 向个人用户的帐户计费。

  • 删除一个用户的访问权限不会影响任何其他用户。

  • 可以访问用户订阅的任何数据集(如果应用程序支持此方案)。

  • Marketplace 管理用户的帐户和计费。

请参见在 Marketplace 应用程序中实现 OAuth

鉴于上述特点,提出“为什么任何人都使用 HTTP 基本身份验证?”这样的问题是很合理的原因有两个:1) 用于实现 HTTP 基本身份验证的代码,比用于实现 OAuth 的代码更简短和简单;2) 如果你是使用应用程序的唯一用户,则不需要考虑 OAuth 的灵活性和复杂性。

另请参阅

显示: