问题标签 [ember-simple-auth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
authentication - 使用 ember-cli-simple-auth 的多个登录路由
我正在尝试通过 ember-cli-simple-auth 使用身份验证来配置基本的 ember-cli 应用程序,并希望拥有一个专用的“访客”登录页面和不同的“管理员”登录页面(授权给不同的serverTokenEnpoint)。
我的“访客”页面正在工作,即如果用户尝试浏览受保护的路由(页面),那么他们将被重定向到默认的/login路由并可以登录。
我想不通的是如何让用户浏览到/admin/xyz路由,然后他们被重定向(使用到/admin/login反过来将验证到默认的不同serverTokenEnpoint。
谁能指出我实现上述目标的正确方向?
谢谢。
受保护的“来宾”路由文件示例如下所示:
文件:/app/routes/protected.js
环境配置包含:
文件:/app/config/environment.js
我什至尝试覆盖/app/routes/admin.js文件中的默认authenticationRoute,如下所示,但没有成功:
因此,为了按照 Marco 的建议简化流程,我现在有:
注意:目前这不起作用..@marcoow你有什么想法我哪里出错了吗?
这是使用带有以下 firebug 输出的 ember-cli:
如果我将手动覆盖代码放回查看先前的答案,它将起作用,但由于我想对不同的 URL 使用相同的 oauth2 身份验证,我喜欢能够使用自定义身份验证器覆盖TokenEndpoint的想法。
文件:app/initializers/simple-auth-admin.js
但是上面显示了“AuthenticatorBase A (unknown mixin)”的错误
然后在 文件中:app/controllers/admin/login.js
对于配置...
文件:config/environment.js
编辑:
所以通过设置:在文件中: app/initializers/simple-auth-admin.js
我得到以下输出:
我是否误解了 AuthenticatorBase.extend () 在做什么?我认为它可以让你覆盖一些变量或函数?
编辑2:
文件:app/controllers/admin/login.js
这会导致一个 ajax 到www.domain.com/token而不是预期的www.domain.com/admintoken
ember.js - 使用 ember-simple-auth 捕获失败的请求
我正在添加功能以允许用户拒绝未过期的 oauth 令牌。(我正在使用 ember-simple-auth-oauth2 和自定义 oauth2 实现)。
我想使用被拒绝的令牌通知客户他们的令牌被手动拒绝。
来自服务器的 401 响应包含令牌不再有效的原因({message: "Token was expired by ip 1.1.1.1"})。
session 或 application mixin 中的 invalidationSucceeded 回调或事件似乎都没有将 401 请求传递给此信息。
有没有办法访问在重定向之前返回 401 的请求正文?
jquery - 如何选择性地禁用 ember-simple-auth 授权者?
我正在实现一个自定义授权器和身份验证器,以使用该ember-simple-auth
库执行 HMAC 令牌签名,并且每个部分都可以单独运行,但可以分开使用。
如果我禁用授权者,验证者可以很好地启动会话,并且一旦存在现有会话,授权者就会正确授权对 api 的所有请求,但是当两者都在运行时,授权者会破坏初始登录请求。
有没有办法跳过身份验证请求的授权方,或者暂时禁用ajaxPrefilter
正在修改请求的授权方?或者有没有更好的方法来解决这个问题?
验证器:
授权人:
authentication - 使用 Torii 和 Simple-Auth 登录 Facebook:未返回身份验证数据
我尝试使用Torii和Simple-Auth Torii authenticationator设置 facebook 登录。我正在使用 ember-cli。
这是我的配置:
这是我的登录代码:
弹出窗口正在打开请求授权,然后我看到带有“SUCCESS UNDEFINED”的警报。我想我会得到一些我可以在我的后端使用的数据来肯定地验证用户(访问令牌或 facebook uid 等......)。
我是否错过了将 Torii 与 Simple-Auth 一起使用的方式?
ember-simple-auth - 如何使 ember-simple-auth 会话过期?
我在我的应用程序中使用 ember-simple-auth 进行身份验证。我已经创建了我的自定义身份验证器。身份验证成功后,服务器返回我存储在 simple-auth 会话存储中的令牌和过期时间。
我的问题是如何根据会话中设置的过期时间使该会话过期或失效?
我还需要在浏览器关闭事件上使会话无效。
谢谢。
facebook - Ember-simple-auth、Torii 和 Facebook Oauth2 的工作流程
在我之前关于 ember-simple-auth 和 torii 的问题之后,我成功地使用他们的 Facebook 帐户验证了我的用户。
但目前,torii 的提供商 facebook-oauth2 正在从 Facebook 返回一个授权码;当承诺解决时,我将此授权代码发送到我的后端,在那里我对 Facebook 执行请求以获取用户的 id 和电子邮件:然后我在我的后端对用户进行身份验证,生成特定的访问令牌并发送回我的 ember 应用程序。
客户端代码:
问题是:当身份验证的承诺解决时,ember-simple-auth 的会话被标记为经过身份验证,然后应用程序重定向到特定的经过身份验证的路由。但在这种情况下,当我的后端返回“真正的”access_token 时,应该对会话进行身份验证。
有没有办法使用 ember-simple-auth-torii 来管理这个工作流程,或者我应该编写自己的验证器?
ember.js - 如何将客户端验证添加到 ember-simple-auth
我在我的项目中实现了ember-simple-auth,但我没有找到任何信息如何添加客户端验证。默认情况下,它将所有请求传递给后端。
在sessionAuthenticationFailed函数中,我可以处理来自后端的所有错误,但是如何添加客户端验证?
我的代码在示例中是默认的,但我仍然做错了什么。
登录控制器.coffee
LoginRoute.coffee
登录标志
ember.js - Synchronously inject current user after login
In my EmberJS application, I have a current user initializer, which injects the user into all controllers, routes, and views. It works great when logged in. I need the synchronous loading of the current user object so I can check some user permissions right off the bat.
Here's my initializer:
Where this breaks down for me, is during login. When the app boots, the initializer is run, but the /users/me
route returns a 401 error. If I don't catch the error and advanceReadiness, booting halts. By catching the error, the app boots, but the initializer isn't run again after login, so the current user isn't loaded.
What are my options here? I can't use @marcoow's recommended method of adding a computed property to the Session, as I need the user loaded at boot time.
I've tried forcing loading the user object on the IndexRoute as a hack, but that doesn't seem to work.
Any tips are appreciated.
ember.js - 如何保护本地存储并在 ember-simple-auth 中关闭浏览器时清除它?
我在我的 ember-cli 应用程序中使用 ember-simple-auth 进行身份验证。似乎 ember-simple-auth 将会话存储在本地存储中,这似乎并不安全。
我有以下两个问题:
- 我可以看到会话数据,也可以修改它。如何保护此会话数据?
- 如何在浏览器关闭时清除此存储?关闭并重新打开浏览器后,我的会话及其数据仍处于活动状态。
谢谢。
javascript - 在 ember-cli 中安装插件
我正在尝试在 ember CLI 中安装 ember-simple-auth,但出现了问题。我创建了一个新的 ember CLI 项目,并运行以下命令来安装 ember-simple-auth。
我也跑了bower install
,只是为了确保我没有遗漏任何其他东西,并检查了它ember-simple-auth
确实存在于bower_components
. 但是,当我尝试使用导入它时
ember 服务器抛出错误:
我错过了什么?
编辑
Ember CLI 版本: