从以往来看,大多数Wb应用程序都是基于本地的账户数据库来处理授权问题。传统的
ASP.NET Membership系统便是一个大家所熟知的例子,新用户向系统提供用户名、密码和其
他需要的信息来注册账号。应用程序把这些用户信息添加到本地的成员数据库,然后利用数据库中的用户信息验证用户登录。
虽然传统的成员资格适用于大多数Wb应用程序,但是它也带有一些严重的负面影响:维护包含有用户信息和加密口令的本地数据库是一项重大责任。现在听到那些涉及成千上万个用户账户信息(通常包含未加密的密码)的重大安全漏洞,已经是司空见惯的事情了。更糟的是,由于许多用户在多个网站都使用同样的口令,受威胁的账户可能会影响到他们在银行或其他敏感网站的账户安全。
网站注册非常麻烦。用户已经厌倦了填写表格,遵循各种不同的密码规则,记忆密码以及担心我们的网站是否能够确保他们的信息安全。因此,相当一部分的潜在用户都选择不在我们的网站注册。
OAuth和OpenID是开放的授权标准。这些协议允许用户使用他们已有的账户登录我们的
网站,这些账户必须来自他们信任的网站(称为提供器),如Google、Tw