问题标签 [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 回答
320 浏览

ember.js - 集成测试中未定义的 Ember 初始化程序异步属性

我正在尝试测试我的注册和登录过程,集成测试在创建初始化程序以使用 currentUser 属性扩展 Ember-Simple-Auth Session 对象之前完美通过。

这一切都在浏览器中正常工作,只是测试现在在以下行的应用程序路由中的 sessionAuthenticationSucceeded 操作中全部失败:

this.get('session.currentUser').then(function(user) {

与:TypeError:无法读取未定义的属性'then'


/routes/application.js

/initializers/custom-session.js

/tests/integration/visitor-signs-up-test.js

测试/helpers/registration-login.js


我试过使用

如您所见,在初始化程序中已注释掉(也在该实例中传递应用程序)以确保异步请求已完成并且用户可用,但这也不起作用。

我正在使用Pretenderapi/v1/users/:id拦截 api 请求,但在测试期间根本没有调用。

奇怪的是它在浏览器中完美运行。

我试图理解为什么这不起作用?任何指导将不胜感激!

注意:我也尝试过此处此处列出的解决方案,结果与上述相同。

0 投票
1 回答
1038 浏览

ruby-on-rails - Ember-Simple-Auth-Torii:我如何使用 devise-omniauth 处理服务器端授权

嗨,我有一个带有 ember-cli-simple-auth-torii 前端的 ember 应用程序和带有devise和 omniauth-facebook 后端的ember-cli-simple-auth- devise 后端

使用 facebook 登录时,鸟居会为您提供一个授权码,我们如何使用此授权码取决于我们。

因为根据服务器端对用户进行身份验证是一种很好的做法。我想将此授权代码与全方位身份验证一起使用。

我的 AuthenticationController 看起来像这样

我的会话控制器

我不确定我的方法是否正确,但我想users/auth/facebook/callback 从我的客户端调用应该触发服务器端的身份验证过程,我可以稍后授权用户在我的应用程序中进行 crud 操作。

我的服务器日志说我能够启动omniauth facebook登录回调阶段,但随后它给出了错误Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request

  1. 验证验证码时出错。请确保您的 redirect_uri 与您在 OAuth 对话请求中使用的相同 我从客户端端口调用 Facebook 服务器:4200 并且我的 ajax 调用使用 url http://localhost:3000/users/auth/facebook/callback端口 3000

  2. 当我从客户端调用 ajax 时,我使用 /users/auth/facebook/callback 我收到错误:无效重定向 ie type: 'POST', url: '/users/auth/facebook/callback', dataType: 'json',

    在 2014-11-16 11:27:40 +0530 I,[2014-11-16T11:27:40.150441 #5160] INFO --omniauth:( facebook) 回调阶段启动。E,[2014-11-16T11:27:41.336997 #5160] 错误 --omniauth: (facebook) 身份验证失败!invalid_credentials: OAuth2::Error, : {"error":{"message":"Invalid redirect_uri: \u0926\u093f\u0932\u0947\u0932\u0940 URL \u0905\u0928\u0941\u092a\u094d\u0930\u092f\ u094b\u0917 \u0915\u0949\u0928\u094d\u092b\u093f\u0917\u0930\u0947\u0936\u0928\u0926\u094d\u0935\u093e\u0930\u0947 \u0905\u0928\u0941\u092e\u0924 \u0928\ u093e\u0939\u0940.","type":"OAuthException","code":191}} AuthenticationsController#failure 作为 JSON 参数处理:{"code"=>"

我不知道我的方法是否正确。我想同时拥有设计 + 牌坊认证

0 投票
1 回答
1616 浏览

authentication - Ember 简单身份验证 - 自定义授权方破坏身份验证

我将 ember-cli-simple-auth 插件与 Torii 一起用于我的身份验证流程。

到目前为止,我已经设法使用自定义 Torii Provider 和自定义 Simple Auth Authenticator 进行身份验证。

我现在想使用自定义的 Simple Auth Authorizer 将访问令牌注入请求中。

按照文档https://github.com/simplabs/ember-simple-auth#implementing-a-custom-authorizer我添加了一个自定义授权器和初始化器

authorizers/myservice.js

initializers/authorization.js

& 包含在config/environment.js开发环境中

不幸的是,通过添加它,它现在已经破坏了身份验证。

Torii 似乎不再收到响应。

The response from the provider is missing these required response params: access_token, token_type, expires_in

我在这里也包含了 Torii Provider 代码和 Simple Auth Authenticator 代码。

任何建议或帮助将不胜感激,我对此有点坚持。

torii-providers/myservice.js

和一个自定义的 Simple Auth 身份验证器

authenticators/myservice.js

0 投票
1 回答
1581 浏览

authentication - ember 简单身份验证会话、ember 数据和传递授权标头

我有一个有效的 oauth2 身份验证过程,我使用 ember 简单身份验证获取访问令牌(例如来自 facebook),将其发送到调用 fb.me() 的后端,然后使用 JWT 创建令牌。然后将此令牌发送回 ember 应用程序,该应用程序必须将其与每个服务器请求一起发送,包括 ember-data 发出的那些请求。

在浏览器重新加载后,我还需要让这个令牌可用。

我尝试了很多选项,我在会话上设置了一个属性“authToken”——我相信这使用本地存储来持久化经过身份验证的会话。

但我似乎总是无法协调该令牌的检索——要么我无权访问会话,要么令牌不再在会话中,要么我无法更改 ember 数据标头。

有没有人有一个简单的例子来说明如何做到这一点 - 我认为这应该很容易,但我显然错过了一些东西!

谢谢。

更新

我唯一能够开始工作的是使用 torii,如下所示,但会话内容在刷新时仍然丢失 - 我可以看到它仍然经过身份验证,但它丢失了我在这里设置的令牌。所以我仍在寻找真正的解决方案。

resolveCodeToToken 从服务器获取不记名令牌,在会话中设置它,然后转换到受保护的页面:

我有一个自定义授权器,用于将令牌(存储在会话中)放在每个请求中:

我不确定为什么刷新后 this.get('session.content.authToken') 会未定义,我认为默认情况下会话保留在本地存储中。它经过身份验证的事实是持久的,但是如果没有令牌,那将毫无用处,因为服务器将拒绝对受保护端点的调用。

0 投票
1 回答
259 浏览

ruby-on-rails - 在测试中使用 ember-simple-auth-ephemeral 存储发出经过身份验证的请求

我有一个使用 ember-simple-auth 设计的 rails 后端和 ember cli 项目,我正在尝试进行 Qunit 测试以涵盖经过身份验证post的 Rails。我不是在嘲笑任何后端调用。

我的测试是这样设置的:

simple-auth-session-store:ephemeral在我的测试环境中使用。

助手工作正常:我可以从signIn()ember 和 rails 日志中看到它提交表单并返回 status 201,但是以下请求返回状态,401如身份验证信息从未保存/未在以下请求中使用。

如果我手动测试它,一切都很好,这让我认为这是测试环境的问题,但是当我删除它时,store:ephemeral我仍然401从我的服务器中恢复状态。

如何在测试环境中使用 ember-simple-auth 向我的服务器发出经过身份验证的请求?有没有办法直接访问测试会话数据并设置user-tokenandemail以便 Rails 认为我已通过身份验证?

环境:

0 投票
0 回答
289 浏览

ember.js - Ember cli 简单身份验证登录使用 facebook 使用 torii 使用 oauth2 对服务器进行身份验证

我如何允许用户使用 facebook 登录并获取该 facebook 身份验证代码并使用简单的 auth oauth2 将其传递到我的服务器?

我显然想验证用户是否有权向我的服务器发出请求。

我一直在寻找所有东西,但找不到任何可以为我指明正确方向的东西。

我看到一些例子告诉我这样做, this.get('session').authenticate('simple-auth-authenticator:torii', 'facebook-oauth2'); 但我该怎么处理这个后记?以及如何使用它来使用 oauth2 检查我自己的服务器?

一个完整的例子,允许多种方式登录服务器身份验证,返回用户信息以供稍后在应用程序中使用(user_id,firstname,lastname,等等......)将不胜感激!!!

0 投票
3 回答
281 浏览

ember.js - Ember CLI - Simple Auth - Custom Authenticator not automatically registering

I'm attempting to setup a custom authenticator with ember simple auth. I'm using Ember CLI and according to the Simple Auth ReadMe on GitHub it states. Note that when you're not using Ember CLI the authenticator will not be registered with the container automatically and you need to do that in an initializer.

It does not state where you need to put your authenticator (or authorizer for that matter) in your directory structure in order for it to be registered by Ember CLI automatically. After creating my file in app/authenticators/custom.js (as shown in the examples of the read me) I expected it to be registered with the container. Looking in Ember Inspector it's no where to be found.

Does anyone have any insight into this? Where are these files meant to be placed?

Please ask if any additional information is needed.

0 投票
1 回答
634 浏览

ember.js - 页面重新加载后 Ember 简单身份验证会话内容丢失

我创建了一个干净的 ember 应用程序,安装了 simple-auth 并为 facebook 实现了一个自定义身份验证器。

https://github.com/prule/ember-auth-spike

我可以看到我已成功从 FB 获取访问令牌并将其放入会话中(通过 chrome ember 扩展检查容器会话显示会话已通过身份验证并且访问令牌可见)。

但是当我在浏览器中重新加载页面时,会话状态会丢失。这是预期的行为吗?我在自定义身份验证器中做错了吗?验证器代码是来自https://github.com/simplabs/ember-simple-auth/blob/master/examples/7-multiple-external-providers.html的直接复制和粘贴(加上一些 console.logs)

谢谢,我很感激任何帮助。

0 投票
1 回答
202 浏览

ember-simple-auth - ember-simple-auth-torii Facebook 提供者从不从开放函数返回承诺

我正在使用ember-simple-auth-torii自定义 Facebook OAuth2 身份验证器,但我似乎永远无法让承诺返回任何数据(对于data.authorizationCode)。弹出窗口一直挂起,直到我关闭它,此时我收到 popupClosed 错误消息。

我错过了什么,我应该做什么?

谢谢!

0 投票
1 回答
215 浏览

ember.js - 任何 $.ajax 的 Emberjs 和 Simple Auth

我正在执行 $.ajax post 命令,并且我目前在客户端有一个经过身份验证的会话。我试图弄清楚如何将令牌添加到 ajax 调用中(因为在服务器上我检查令牌以查看它是否在我的本地数据库中匹配。如何在通用 ajax 调用中使用相同的身份验证令牌?

谢谢