在web应用程序中有什么不同?我经常看到缩写“auth”。它是代表认证还是授权?或者两者都有?


当前回答

  Authentication Authorization
What does it do? Verifies credentials Grants or denies permissions
How does it work? Through passwords, biometrics, one-time pins, or apps Through settings maintained by security teams
Is it visible to the user? Yes No
It is changeable by the user? Partially No
How does data move? Through ID tokens Through access tokens

更详细的答案请参考:https://www.okta.com/identity-101/authentication-vs-authorization/

其他回答

身份验证是验证所宣布的身份的过程。

例如,用户名/密码

通常接下来是授权,也就是批准你可以这样做或那样做。

如权限

身份验证是通过获取某种凭据(例如用户名密码组合)来验证用户身份的过程,并使用这些凭据来验证用户的身份。

授权是通过检查用户是否具有系统访问权限,从而允许经过认证的用户访问其资源的过程。您可以通过向已验证的用户授予或拒绝特定的权限来控制访问权限。因此,如果身份验证成功,则启动授权过程。认证过程始终进行到授权过程。

用于授权的JWT: JWT是一种基于JSON的安全令牌格式,它基本上是一个base64 url编码的字符串,用于传输 保护两个应用程序之间的内容。它们用于保护Web api中的请求数据。这些都包含在授权HTTP报头中,作为承载身份验证方案的一部分。

OAuth代表授权:OAuth不是API或服务:它是授权的开放标准,任何人都可以实现它。有了OAuth,你可以用你的谷歌、Facebook、Twitter或微软账户登录第三方网站,而不需要提供密码。这样你就可以避免在互联网上使用的每个web应用程序上创建帐户和记住密码。

认证是验证实体身份的过程。例如

Webserver每次都要求用户输入登录名/密码,以验证创建该帐户的用户是否是现在正在访问该帐户的用户。

授权是允许每个实体获得所需数量的服务/资源的过程。例如

On blogging site (eg. medium.com) users can create an account and write a post and publish. And users can read all posts published by others as well. Here the blogging server first authenticates the user with the user login credentials (login/password) and then it authorizes to read all others post and write/modify the post only created by the user. Here authorization is used by the server to limit which all post each user can modify. Users can create a free google account by which google server provides free services like mail, calendar, chat, drives etc. But the storage provided for all these services to free users are 15GB (as of now). User can pay a monthly or annual fee to google server to increase the storage space. Here google server authorizes every authenticated user to limit the amount of resource usage.

在当今的互联网中,授权被广泛用于对客户端施加访问限制。

正如身份验证vs授权所言:

Authentication is the mechanism whereby systems may securely identify their users. Authentication systems provide an answers to the questions: Who is the user? Is the user really who he/she represents himself to be? Authorization, by contrast, is the mechanism by which a system determines what level of access a particular authenticated user should have to secured resources controlled by the system. For example, a database management system might be designed so as to provide certain specified individuals with the ability to retrieve information from a database but not the ability to change data stored in the datbase, while giving other individuals the ability to change data. Authorization systems provide answers to the questions: Is user X authorized to access resource R? Is user X authorized to perform operation P? Is user X authorized to perform operation P on resource R?

参见:

Wikipedia上的身份验证与授权

混淆是可以理解的,因为这两个词听起来很相似,而且概念经常密切相关并一起使用。此外,如前所述,常用的缩写Auth也没有帮助。

其他人已经很好地描述了身份验证和授权的含义。这里有一个简单的规则来帮助区分这两者:

身份验证验证您的身份(或真实性,如果您喜欢) 授权验证您的权限,即您访问和可能更改某些内容的权利。