当前位置: 首页 > 知识库问答 >
问题:

Ember oauth2身份验证问题

秦安宁
2023-03-14

尝试将ember应用程序连接到oauth2身份验证服务时,获得一个[error=“unauthorized”,error_description=“访问此资源需要完全身份验证”]。如有任何建议,我们将不胜感激。我花了几天时间想解决这个问题,但没有效果。

下面是app.js中的代码


         Ember.Application.initializer({
      name: 'authentication',
      initialize: function(container, application) {
         Ember.SimpleAuth.Authenticators.OAuth2.reopen({
                     makeRequest: function(credentials) {
                         credentials.client_id= 'rsweb-client';
                         credentials.client_secret= '123456';
                         credentials.scope='read';
return Ember.$.ajax({ type: "POST", url: 'http://127.0.0.1:8080/api/oauth/token', async: false, data:credentials,
success: function (data, textStatus, xhr){ Ember.run(function(){ resolve({username: data['pl-usr-nickname']}); }); }, error: function (xhr, status, error){ Ember.run(function(){ console.log(xhr.responseText); }); } }); } });
Ember.SimpleAuth.setup(container, application, { // @todo at version 0.1.2 of Ember-simple-auth, add container crossOriginWhitelist: ['http://127.0.0.1:8080'], // @todo remove when live // store: Ember.SimpleAuth.Stores.LocalStorage, authenticationRoute: 'login' }); } }); Here is the # The OAuth-secured REST Endpoint This uses the simple OAuth Resource Owner Password flow. Here is an example of how to acquired an access_token, and then use that access_token to update an application. ``` curl --noproxy localhost -X POST -vu rsweb-client:123456 http://127.0.0.1:8080/api/oauth/token -H "Accept: application/json" -d "password=password&username=user&grant_type=password&scope=read&client_secret=123456&client_id=rsweb-client"

当我从命令行工具访问时,这将返回一个令牌。但不是从烬应用程序。

以下是请求有效负载:


共有1个答案

王君墨
2023-03-14

看起来您的身份验证服务器需要client_id和client_secret作为HTTP基本身份验证凭据,而您的身份验证器在有效负载中发送它们。您必须在makerequest方法中添加authorization头,如以下所定义的:http://tools.ietf.org/html/rfc2617,它将是“rseb-client:123456”的base64编码。

 类似资料:
  • 问题内容: 我试图让我的自定义Java应用程序使用我们的Active Directory服务器进行身份验证,但由于某种原因我无法使其正常工作。谁能看到为什么呢?这是我的方法如下: 结果: 问题答案: 你尝试过这种方式吗? 也更换 与

  • 我正在开发一个Web应用程序 然而,我在尝试允许用户通过注册链接注册时遇到了一个问题。如果用户未经身份验证,则无法访问注册表的链接(“showRegistrationForm”) 有人能洞察为什么会发生这种情况吗?我在下面包含了我的安全配置中的代码片段

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 问题内容: 我正在使用Rails做一个单页应用程序。登录和注销时,使用ajax调用Devise控制器。我遇到的问题是当我1)登录2)退出然后再次登录时不起作用。 我认为这与CSRF令牌有关,该令牌在我退出时会重置(尽管它不应该出现),并且由于它是单页的,因此在xhr请求中发送了旧的CSRF令牌,从而重置了会话。 更具体地说,这是工作流程: 登入 登出 登录(成功201。但是在服务器日志中打印) 后

  • 我是Apache Shiro的初学者。我一直在跟踪文档和许多其他教程,博客等,但我就是无法使身份验证工作。当我尝试使用有效的用户名和密码登录时,总是会引发。我正在使用DynamoDB作为存储用户凭据的自定义领域,但我真的不认为这有什么关系。显然,我存储和/或执行凭据匹配的方式是不正确的。以下是我的设置:

  • 我有一个配置了Spring安全性的Spring启动应用程序。我已将登录请求重定向到我在 python 服务器上运行前端的 。现在,当我尝试将登录名发布到我的 springboot 应用程序时,它不起作用。即使我从邮递员那里尝试,它也说 错误。我怎样才能让它工作。如果我将其作为 html 放在同一个项目中,而不是从 python 服务器或邮递员中,它就可以从 /login 工作。有什么区别。 “消息