问题标签 [angular-http-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 投票
2 回答
779 浏览

angularjs - 在角度资源中添加配置

我正在使用http-auth-interceptor进行身份验证。在http-auth-interceptor中,我使用如下方式登录:

ignoreAuthModule用于告诉ignoreAuthModule身份验证拦截器将忽略此登录方法。

现在,我对 $resource 有一些要求,例如:

I wantSomeDataService.get()也被 auth 拦截器忽略,因为我需要自己控制 401 错误。

所以,我的问题是,有没有什么方法可以让我在 $http.xml 中设置类似的配置。

[根据评论更新] 我听了这个login-required活动:

但是“拒绝”参数没有我需要的请求上下文数据。我需要获取请求 url 并检查,对于某些指定的 url,我需要做一些事情。

0 投票
1 回答
194 浏览

javascript - 如何在 AngularJS $rootScope 事件监听器中应用状态转换?

我目前在使用angular-http-auth库时遇到问题,该库正在处理来自event:auth-loginRequired事件的状态转换。我正在为我的路由系统使用angular-ui-router

无论如何,这是库中发出事件的一些代码:

我在myApp.run中使用这些代码来捕捉事件

我能够在我的控制台中获得“令牌无效/过期” 。但是,状态转换根本不起作用,我的控制台上也没有任何错误。我试过使用$location.path('/login'),但它也不起作用。

谁能帮我解决问题?任何形式的帮助都非常感谢。谢谢!

0 投票
0 回答
1072 浏览

angular - 使用 Angular 2 指定 pem 文件

在我的 Angular 2 应用程序中,我使用 http 服务对我的网站进行 GET 调用。该站点已通过证书时髦锁定。如果我通过 curl 进行 GET 调用,我会传入 --cert 标志并指定我的 .pem 文件来建立连接。

我如何用这个 http.get 调用做同样的事情?

0 投票
1 回答
796 浏览

angular - Chrome 上的 Angular 4 Odata (ASP.net) Windows 身份验证

我有一个调用 OData API 的 Angular 4 服务。我的 API 设置可以使用 Windows 身份验证,这可以通过 IE(版本 11)工作,但不适用于 Chrome,它会抛出:

加载资源失败:服务器响应状态为 401(未授权)

紧随其后的是:

XMLHttpRequest 无法加载http://gbldnrgaptest1:53219/User。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://gap ”。响应具有 HTTP 状态代码 401。

我使用以下方法为发送的每个请求创建选项:

在我的 API 上,我启用了 CORS:

我还在 web.config 中启用了 Windows 身份验证:

我的 IIS 也设置为仅允许 Windows Auth:

在此处输入图像描述

有人知道我可能会错过什么吗?

我觉得这是一个标题问题;当我在 Chrome 中简单地运行一个获取请求时,例如通过导航到http://gbldnrgaptest1:53219/User它返回就好了,一旦我添加了 NTLM 身份验证,SOAP UI 也可以工作。

0 投票
0 回答
930 浏览

angular - 如何使用 cookie 中的 session_id 发出 http 请求

我正在使用angularjs2http 服务发送 http 请求。在登录 API 中,我发送带有用户凭据的发布请求,后端服务器session_id在响应中生成一个并将其保存在 cookie 中。这session_id不会显示在 Angularjs 的 http 响应对象中。但我可以从 chrome 调试网络面板中看到这个值。网络下有一个Cookies选项卡。从那里我可以看到session_id它的价值。登录成功后,我使用以下代码发送下一个 http 请求:

但我得到以下错误响应:

当我在 chrome 上调试请求时,我发现请求标头如下所示:

它不包括上面提到的cookie session_id。另一个有趣的事情是,Request Method变成OPTIONSnot GET

我不知道如何解决这个问题。是后端问题还是前端问题?

0 投票
1 回答
277 浏览

angular - Angular 4.3 HttpClient 多重授权

我有一个关于 HttpClientModule 的问题,我如何将它用于多个授权,因为当使用 HttpInterceptor Provider 时,它只能在一种情况下使用,例如:

  • Api 1 有令牌 A
  • Api 2 有令牌 b

对于上述情况,我如何使用 HttpClient,因为它只提供这样的功能:

{提供:HTTP_INTERCEPTORS,useClass:ApiInterceptor,多:真}

希望能和大家一起讨论。

0 投票
2 回答
2206 浏览

angular - 在Angular 4中单击查看按钮时显示特定细节

我需要帮助才能使这个“查看详细信息功能”工作。首先,我有用户组件,我想模仿它的工作原理。就像您在尝试获取特定事物时必须访问其服务一样。但是用户组件不是来自 api。现在,我想在我的新闻组件中模仿它,详细信息来自 api。我如何访问新闻组件的特定事物详细信息?我已经把下面的代码放在用户组件和新闻组件上。谢谢你的帮助。

用户服务.ts

用户列表组件

新闻服务.ts

新闻列表.component.ts

0 投票
1 回答
878 浏览

angular - 在 HttpClient 拦截器中制作全局授权标头

我正在我的应用程序中制作一个全局授权标头。我已经使用了拦截器,所以我不会在我的 get() 函数中声明授权标头。我是否正确实现了拦截器,因为当我调用 get() 函数时,它仍然要求令牌。它说没有提供令牌。我的 auth.interceptor 有问题吗?我应该在每个 get() 函数中声明授权标头不记名令牌吗?我认为每次发送/接收请求时都会调用拦截器?

auth.interceptor.ts

products.component.ts

0 投票
0 回答
2311 浏览

angular - Angular 4:Http响应中的“设置Cookie”标志未在浏览器中设置Cookie

我正在使用Angular 4开发网站。我们正在使用 Cookie 身份验证方法。登录过程 API 响应后,在Set Cookie字段中有cookie 。但它没有在浏览器中设置值。因此其他 API 的身份验证失败。在使用邮递员时,它工作正常。以下是使用 http get 方法的 Angular 代码(此 Api 是为测试目的而创建的。)

api的Chrome控制台Api 响应中的 Cookie浏览器中未添加 Cookie

0 投票
0 回答
267 浏览

angular-httpclient - 获取httpclient请求查询参数

嗨,我正在使用 Angular 5 拦截器来检查 HttpClient 请求 URL 是否包含查询参数,但即使在网络中我看到查询参数被传递,它也总是返回 false。

有人可以帮助我如何检索 HttpRequest 中使用的查询参数。谢谢!