- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找有关此项目最佳策略的建议。
我正在构建一个 SaaS 服务,客户(租户)可以使用 iPad 应用程序或服务网站访问该服务。服务网站将使用 AngularJS 和 laravel 编写。授权方式为oAuth 2。登录网站的用户将拥有不同的 Angular 色和不同的能力。将来我们可能会扩展服务和应用程序,全部使用相同的用户帐户。
我在为服务网站制定良好的身份验证和授权策略时遇到问题。由于该网站将运行 AngularJS 并将连接到我们自己的服务 API,因此我不确定为用户和 AngularJS 处理 AUTH 的最佳方法是什么。我知道 iPad 应用程序可能会使用“资源所有者授予”之类的东西,但是 AngularJS 网站和代码呢?它应该使用“隐式授权”、“JWT”还是其他什么?当用户登录时,是否应该给他们一个授权 AngularJS 网站上所有页面的 token ?如果是这样,我是否使用“授权代码授予”之类的东西并自动授权请求而不为用户做某种重定向?
我也在考虑拥有一个“login.php”页面来授权用户并提供 token 。它可以将用户配置文件嵌入“angularjs”页面,如果 AngularJS 页面没有嵌入的配置文件,它会重定向到登录。但是对于这个解决方案,我仍在尝试弄清楚如何最好地将 AngularJS 页面安全地连接到 API。
我很困惑,因为 AngularJS 网站或多或少是我们 API 的接口(interface)。但我认为用户不必通过“请求身份验证”过程,他们应该直接登录..
感谢任何建议或指导..-John
最佳答案
隐式授权类型被许多人(lucadegasperi 的 oauth2-server-laravel 等)视为 OAuth2 授权类型中最不安全的类型,因此我建议您改用 JWT 作为您的服务网站。
要将 JWT 与 Laravel 集成,请查看以下库。它工作得很好,并且还受到流行的开箱即用 API 包 Dingo for Laravel 的支持(https://github.com/dingo/api):
至于应用程序,如果该应用程序是第一方应用程序,请按照 Florens Morselli 所述进行 OAuth2 密码授予。如果是第三方应用,请改用授权码授予。
关于angularjs - 对于从 API 提取的 AngularJS 安全站点,我应该使用什么 oAuth2 Grant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25808734/
举个例子: us1: GRANT SELECT ON table to us2 WITH GRANT OPTION; us2: GRANT SELECT ON table to us3 WITH GR
这两个命令有什么区别? GRANT ALL ON druid.* TO 'druid'@'localhost' IDENTIFIED BY 'diurd'; GRANT ALL PRIVILEGES
我在我的网站上运行 apache 2.4.6。我一直在我的 apache 错误日志中一遍又一遍地看到这条消息。 [Tue Nov 10 01:42:40.659710 2015] [authz_cor
我只想将权限授予 mysql 中的特定行。表:消息cols:从,到,消息 GRANT ALL ON db.messages TO 'jeffrey'@'localhost' WHERE message
我的问题有两个方面。首先,有人可以解释一下在 Tampermonkey 中使用 @grant none 的优缺点吗?其次,我应该使用哪些 @grant 值来防止网页检测脚本? 最佳答案 @grant
类似于 this question ,我想知道如何生成所有GRANT向一组模式中的所有角色和名称以“PROXY”结尾的角色列表发出的语句。我想重新创建如下语句: GRANT SELECT ON TAB
我在一个相当新的项目中,我们仍在修改我们的 Oracle 11g 数据库表的设计。因此,我们经常删除并重新创建我们的表,以确保我们的表创建脚本在我们进行更改时按预期工作。 我们的数据库由 2 个模式组
我很好奇是否有办法同时授予多个用户权限 示例:我想将某些权利授予以字母 AAR 开头的多个人。 通常授予: GRANT SELECT ON Abteilung TO Herr_Mueller 对于以
我正在写这篇 MS Azure 文章:Connect to and manage Azure Synapse Analytics workspaces in Azure Purview 。但在 Gra
假设有一个现有用户 user1,密码为 pwd1。 现在,如果我运行 GRANT 命令 s.t.- GRANT INSERT, DELETE ON database1.* TO 'user1'@'lo
如果我有一个名为 example 的表。我向 subject1、subject2、subject3 授予 SELECT、INSERT 等权限。那么,作为表的所有者,我如何才能查看我授予示例的每个人及其
grant all privileges on 'bbs' to 'userone'@'localhost' IDENTIFIED BY PASSWORD 'user2012'; 它显示 ERROR
以下确实按预期工作: GRANT ALL ON *.* to 'someuser'@'%' identified by 'somepass'; 我可以使用通配符作为数据库名称吗: GRANT ALL
我在 MySql 中同时使用 GRANT 和变量时遇到了一些麻烦。 SET @username := 'user123', @pass := 'pass123'; GRANT USAGE ON *.*
授权就是为某个用户赋予某些权限。例如,可以为新建的用户赋予查询所有数据库和表的权限。MySQL 提供了 GRANT 语句来为用户设置权限。 在 MySQL 中,拥有 GRANT 权限的用户才可以执行
我们的应用程序的数据结构跨两个模式,我们称它们为 Main 和 Archive。这是必需的,因为主模式中的一些表被归档到存档模式中的相应表中。 Main 架构更新是使用 Liquibase servl
我正在尝试运行包含命令 GRANT ALL ON BIDB.* TO biouser@'localhost' IDENTIFIED by 'bio123!'; 的脚本.但不知何故我收到一条错误消息 b
Android API 23 及更高版本要求在运行时确认“危险”权限。根据其他 StackOverflow 建议,我使用 checkSelfPermissions() 检查所需的权限,如果需要,调用
CREATE USER 'Grant'@'localhost' IDENTIFIED BY 'bestpasswordever'; 如何向名为“Grant”的用户授予权限?它抛出一个错误。 GRANT
我正在为需要能够创建和删除 proc 的用户创建一个组,同时还要向其他用户授予执行权限。 GRANT CREATE PROCEDURE TO [xxx\xxx] GRANT ALTER ON SCHE
我是一名优秀的程序员,十分优秀!