在web应用程序中有什么不同?我经常看到缩写“auth”。它是代表认证还是授权?或者两者都有?
当前回答
认证是识别有效用户的过程。
授权是验证用户访问级别的过程。
应用程序示例 用户A、用户B均为库存应用的认证用户。 两个用户都可以进入股票,但B对发行项目有更多的授权权力。
其他回答
我试图用最简单的语言来解释这一点
1)身份验证意味着“你是你所说的那个人吗?”
2)授权意味着“你能做你想做的事吗?”
这在下图中也有描述。
我试图用最好的术语来解释它,并创造了一个相同的图像。
简而言之,请。: -)
身份验证=登录名+密码(你是谁) 授权=权限(你被允许做的事情)
简短的“auth”最有可能指的是第一个或两者。
身份验证是验证所宣布的身份的过程。
例如,用户名/密码
通常接下来是授权,也就是批准你可以这样做或那样做。
如权限
定义
身份验证——你是你声称的那个人吗? 授权——你被授权去做你想做的事情吗?
例子
web应用程序使用谷歌登录。当用户成功登录后,谷歌发送回:
JWT令牌。可以对其进行验证和解码以获得身份验证信息。令牌是由谷歌签名的吗?用户的姓名和电子邮件是什么? 一个访问令牌。这将授权web应用程序代表用户访问谷歌api。例如,应用程序可以访问用户的谷歌日历事件吗?这些权限取决于请求的范围,以及用户是否允许。
另外:
公司可能有一个管理仪表板,允许客户支持来管理公司的用户。该公司使用谷歌Sign-In,而不是提供允许客户支持访问此仪表板的自定义注册解决方案。
JWT令牌(从谷歌登录过程接收)被发送到公司的授权服务器,以确定用户是否拥有组织托管域(email@company.com)的G Suite帐户?如果他们这样做了,他们是公司为客户支持而创建的谷歌小组的成员吗?如果以上都是,我们可以认为他们是通过认证的。
然后,公司的授权服务器向仪表板应用程序发送一个访问令牌。该访问令牌可用于向公司的资源服务器发出授权请求(例如,向发送回公司所有用户的端点发出GET请求的能力)。
身份验证是验证您的登录用户名和密码的过程。
授权是验证您是否可以访问某些内容的过程。
推荐文章
- JavaScript:客户端验证与服务器端验证
- ASP。NET身份的默认密码散列器-它是如何工作的,它是安全的?
- 人们如何在Go中管理身份验证?
- 主体、使用者和主体之间的意义和区别是什么?
- 检查SQL Server登录是否已经存在
- 阻止人们入侵基于php的Flash游戏高分表的最佳方法是什么
- SQL Server 2008不能用新创建的用户登录
- Passport.js -错误:序列化用户到会话失败
- 令牌身份验证vs. cookie
- JWT vs cookie用于基于令牌的身份验证
- 在php中生成一个随机密码
- java.util.Random和java.security. securerrandom的区别
- Docker和安全密码
- 准备好的语句如何防止SQL注入攻击?
- 为什么人们会写“throw 1;<不要邪恶>”和“for(;;);”在json响应前?