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


当前回答

Authentication是一个验证的过程:

系统中的用户身份(用户名、登录名、电话号码、电子邮件……),通过提供证明(密钥、生物识别、短信……)作为扩展的多因素身份验证。 使用数字签名检查电子邮件[关于] 校验和

授权是身份验证之后的下一步。它是关于资源的权限/角色/特权。OAuth(开放授权)是授权的一个例子

其他回答

假设你注册了一个技术会议。你到了,走到外面的登记桌前领取你的会议徽章。你必须先出示某种形式的身份证明,比如驾照。你的驾照可以识别你的身份(比如你的照片),并由一个受信任的实体(车管所)分发。这就是身份验证。

工作人员将你的徽章交给你,徽章是红色、蓝色或绿色的。在会场内走一圈,你会发现一些展品都是用颜色标注的。有了绿色徽章,您可以进入绿色的展品,但不能进入蓝色或红色的展品。徽章不是由DMV分发的,而是由会议本身分发的,用于访问会议厅内的会议资源。

徽章上不一定有任何可以识别你的东西(徽章上可能印着你的名字,但你可以很容易地借用你朋友的蓝色徽章去参观蓝色展览——没有人会检查你的名字,只有蓝色)。你徽章的颜色允许你进入展品。这就是授权。

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

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.

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

简而言之,请。: -)

身份验证=登录名+密码(你是谁) 授权=权限(你被允许做的事情)

简短的“auth”最有可能指的是第一个或两者。

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

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

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

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

补充@Kerrek的答案;

身份验证为通用形式(所有员工都可以登录机器)

授权是专用形式(但管理员只能在机器上安装/卸载应用程序)