问题标签 [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.

0 投票
1 回答
151 浏览

ember.js - EmberJS - 处理 3rd 方重定向身份验证

我正在为我的 Ember 应用程序使用ember-simple-auth,但我没有 API 端点来验证用户身份,而是将页面重定向到表单并让用户登录,然后重定向回我的应用程序。(我不拥有身份验证)

身份验证后,它会被重定向回我,所以我在服务器端知道用户何时成功通过身份验证。当用户被重定向回我的应用程序时,如何手动验证用户的会话?

目前我做了一个 hack 来写两个 cookie:ember_simple_auth:access_tokenember_simple_auth:authenticator.

0 投票
1 回答
362 浏览

session - 如何将现有服务器令牌与 emberjs 简单身份验证一起使用

我目前正在实现这个库ember-simple-auth来管理我目前正在构建的 emberjs 应用程序(购物车)中的身份验证。

我遇到的困难是该库在登录后很好地管理身份验证规则,但在登录之前却没有。

所以这里是这样的场景:应用程序必须与后端服务器通信以检索每个用户的会话令牌。这是必要的,以便用户可以使用会话数据将他们的项目临时保存在服务器端。您对购物车的期望。

然后,当用户准备好继续前进时,应用程序将显示登录屏幕,用户可以验证自己以结帐他们的项目。

但是,我似乎还不知道如何使用 simple-auth 来做到这一点。如果我创建一个仅从服务器获取令牌 ID 的自定义身份验证器,它会将会话标记为已通过身份验证,并且不会要求登录已验证的路由。

一般来说,我想做的是:

  1. 客户访问网站
  2. 应用程序从服务器获取会话令牌
  3. 客户四处点击并将商品保存到购物车中。数据使用会话令牌与服务器同步
  4. 客户准备结帐并导航到结帐页面
  5. 应用程序拦截路由并将客户重定向到登录路由,客户可以登录并恢复结帐。

我希望以上信息足够清楚。任何提示和帮助将不胜感激。谢谢。

0 投票
1 回答
112 浏览

javascript - 导入会话不起作用

在我的 Ember 应用程序中,我想扩展 Ember Simple Auth 的会话对象(我正在使用 Ember CLI 插件)。这就是为什么我按照文档中的说明导入它:

import Session from 'simple-auth/session';

当我尝试构建我的应用程序时,控制台会记录一个找不到文件的错误。

我可以使用以下命令导入 LoginControllerMixin:

import LoginControllerMixin from 'simple-auth/mixins/login-controller-mixin';

是否有其他人遇到此问题或知道可能导致此问题的原因?

0 投票
1 回答
747 浏览

ember.js - 如何通过 AMD 使用 ember-simple-auth 执行 Ember.SimpleAuth.setup

在使用 ember-cli-simple-auth 之前,我有这个初始化程序:

现在如何做到这一点,在使用导入时,我已经成功地做到了这一点:

谢谢!

0 投票
1 回答
295 浏览

javascript - Ember CLI Simple Auth ApplicationRouteMixin 不会触发操作

我正在使用 Ember CLI 并成功集成了 Simple Auth Addon。不幸的是,我目前面临一个问题,我似乎无法触发sessionAuthenticationFailed我的项目中的操作。ApplicationRoute我已经使用 Ember Simple Auth 的浏览器化版本成功地做到了这一点,但我现在真的很想使用 Ember CLI 的插件并弄清楚这一点!目前我ApplicationRoute在 Coffescript 中的样子是这样的:

我还尝试重新打开 ApplicationRouteMixin 并debugger在函数中设置 a ,这也不起作用。据我所知,Ember Simple Auth 的源代码通过调用其函数Session来触发事件。我还将工作版本与目前不工作的版本进行了比较,当我在调用触发器后单步执行代码时,我最终进入了接收对象的函数,在这种情况下它是 Ember Simple Auth ,一个 eventName ,参数和动作。这里有趣的是,在这部分代码中从 Session 中读取了一些关于 listeners 的元数据:_this.trigger('sessionAuthenticationFailed', error)authenticatesendEventSession

在我的情况下meta.listeners[eventName]undefined这意味着事件没有监听器sessionAuthenticationFailed,因此没有任何东西被调用,我最终没有用我的动作捕捉到事件。

现在最大的问题当然是为什么它似乎没有为此事件注册任何侦听器。是否有其他人已经在使用 Ember CLI Simple Auth Addon 并成功连接了该sessionAuthenticationFailed事件?如果有帮助,将不胜感激!

干杯,戴夫!

编辑 通过阅读源代码的评论,我看到如果在扩展 ApplicationRoute 中使用了 beforeModel 钩子,我也必须通过 this._super() 调用父级的 beforeModel 函数。我想我离解决这个问题又近了一步!

0 投票
1 回答
878 浏览

ember.js - 在 DS.RESTAdapter 上设置主机删除 ember-simple-auth 标头

我将 ember-cli-simple-auth 与 ember-cli 一起使用,一切都很好,直到我尝试在 DS.RESTAdapter 应用程序范围内设置新主机。

一旦我设置

甚至使用重新打开()它会清除所有由 ember-simple-auth 设置的标头。

我没有在 ember-cli 中正确设置吗?

0 投票
1 回答
813 浏览

ember.js - ember-simple-auth:有什么方法可以从路由器中获取会话?

我想在使用EmberJS 的 Mixpanel中提到的每个转换上使用分析跟踪

为此,我需要能够重新打开Router.

有什么办法可以ember-simple-auth在那里获得当前会话?我的理解是它对所有路由和控制器都可用,但没有特别提到路由器。

编辑

我现在正在探索的另一种方法是在我想要进行分析识别的所有路由上包含一个 mixin。我有一个如下的mixin:

我可以user_id从会话对象中获取 ,尽管Session.reopen我所做的似乎并没有单独包含user。也不行@store.find('user', userId)

以下在模板中可以正常工作:

0 投票
1 回答
445 浏览

ember.js - 用于测试的 ember-cli 和 ember-simple-auth 设置

我正在ember-simple-auth使用ember-cli. 我不知道如何在集成测试运行期间通过身份验证。

在我的 startApp 中,我从容器中查找会话,然后将isAuthenticated属性设置为 true,但我想这还不够。

我在初始化程序中重新打开 Session 并添加计算属性用户。对于测试这个也不应该寻找商店。

而且我猜本地存储不适合测试,所以如何store:ephemeral在测试运行时设置存储类型。

使用 ember-cli 和 ember-simple-auth 时,我找不到任何完整的教程或任何有关编写集成测试的内容。提前致谢

0 投票
1 回答
880 浏览

javascript - Ember-Simple-Auth OAuth 2.0 未发送正确的参数

所以我正在ember-simple-auth使用OAuth 2.0扩展程序进行设置。问题是每当我尝试登录并查看作为表单数据发送的内容时,它只发送grant_typeandpassword参数。但是,password参数始终为空,有时甚至不显示。参数总是丢失,username到目前为止我还没有看到它。

这是我的login.hbs代码(顺便说一句,我正在使用 ember-cli)

我的login.js代码在controllers

我的application.js代码在controllers

在我的config/environment.js档案中

It's making the call to the right url after this change

在我的初始化程序文件夹中

很容易注意到,大部分代码都是从教程中复制的,并进行simplelabs了一些自定义。但是,我无法弄清楚为什么没有正确发送参数。任何帮助,将不胜感激!

0 投票
2 回答
389 浏览

ember-cli - 简单的身份验证插件似乎没有读取环境配置

我在这里遵循示例,我的config/environment.js文件中有这个:

但是,在我的应用程序进行身份验证后,它会尝试前往该index路线。我通过在库的方法中添加断点来确认使用的配置变量index作为属性。routeAfterAuthenticationsessionAuthenticationSucceeded

我尝试importenvironment.js文件 ES6 样式中配置配置,但这似乎不可能。