AngularJS - 在登录时存储基本身份验证

2023-11-22

我对此感到很头疼——我对 API 的使用还比较陌生,还没有做过任何需要身份验证的事情。

我一直坚持向 API 发送 POST 请求。创建内容片段的端点是:

/entity/node

如果我发送以下内容,我可以发送成功的 POST 请求:

headers: {
       "Authorization": "Basic YWRtaW46MTIzcXdl", //admin:123qwe
   },

我遇到的问题是授权。我在此处指定“Basic”,然后指定一个编码字符串,这是我的管理员登录名。所以当硬编码时,我可以发布。

我的问题 - 当用户正确登录时,我需要设置标头,以便所有未来的发布请求都可以工作。我怎样才能在 AngularJS 中做到这一点?

我尝试过传递动态生成的代码:

"Authorization": "Basic " + auth,

where auth是一个base64编码的user:pass,但这不起作用。我的想法是,这个值需要存储在某个地方,以便在发出 POST 请求时进行检索。但如何呢?


一旦您拥有令牌,请调用此方法:

$httpProvider.defaults.transformRequest.push(function (data, headersGetter) {
    if (authToken !== null) {
        var headers = headersGetter();
        angular.extend(headers, 'Authorization: basic ' + authToken);
    }

    return data;
});

编辑: 没有测试过,但应该是这样的:

myApp.provider('authService', function() {

    var authToken = null;

    this.$get = ['$httpProvider', function($httpProvider) {
        return {
            configure: configure,
            setAuthToken: setAuthToken
        }
    };

    function configure() {
        $httpProvider.defaults.transformRequest.push(function (data, headersGetter) {
            if (authToken !== null) {
                var headers = headersGetter();
                angular.extend(headers, 'Authorization: basic ' + authToken);
            }

            return data;
        });
    }

    function setAuthToken(token) {
        authToken = token;
    }
});

然后注入authService到您的应用程序配置并调用authService.configure()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS - 在登录时存储基本身份验证 的相关文章

  • 泽西宁静例外

    我面对的是泽西岛 2 7 这是我的服务 package edu srv rest import javax ws rs GET import javax ws rs POST import javax ws rs Path import j
  • AngularJS templateUrl 与 template - 隔离范围

    我有以下指令 offerListSorters directive offersSorter myState templateCache function myState templateCache return scope control
  • 如何通过 Apps Script & Drive SDK 创建新的脚本文件

    尝试通过在 Apps 脚本中调用 Drive SDK 来创建包含文件的新项目 下面的内容到底会放在哪里UrlFetchApp要求 files id 9basdfbd 749a 4as9b b9d1 d64basdf803 name Code
  • 将 bootstrap 迁移到 v4 - 弹出窗口不起作用

    我在将 Bootstrap 从版本 3 迁移到版本 4 时遇到问题 问题在于弹出窗口和 popper js 库 每次我将鼠标悬停在某个元素上时 都会收到此错误 未捕获的类型错误 无法读取未定义的属性 indexOf 在 v computeA
  • Angularjs 循环遍历 $http.post

    当我循环遍历 Angularjs 的 http post 服务时 for var i 0 i lt scope tagStyles length i scope profilTag tag scope tagStyles i id tag
  • 通过外部控制进行 AngularJS 智能表过滤

    我试图找出合并 st table st safe src 的正确方法 并通过表本身之外的控件过滤数据 用户可以添加 编辑和删除数据 这就是我使用安全源的原因 任何例子或反馈都会很棒 查看此示例 其中包含从智能表中添加 编辑 删除行的选项 h
  • 喜欢和不喜欢用户对产品的评论

    用户架构 var UserSchema new Schema review likes type String review dislikes type String 审查架构 var ReviewSchema new Schema pro
  • Drupal 8 图像与图像样式

    在drupal 7中 我使用函数image style url style uri 生成具有样式的新图像并返回图像的路径 那么在 drupal 8 中会用什么来代替它呢 谢谢 Per the 变更记录 https www drupal or
  • 从 SUDS 中的 SOAP 响应中提取 Cookie

    我必须使用具有多种服务的 API 所有这些都需要来自下面的身份验证的 JSESSION cookie 然而 当我调用下一个服务时 它不会保留 cookie 因此会拒绝它们 from suds client import Client url
  • REST API 路由最佳实践

    我想知道当订单是一种资源时 为以下场景创建 REST API 的最佳实践是什么 获取数据库中的所有订单 当然不是实际场景 仅供理解 通过订单ID获取订单 根据订单ID获取单个订单 单个 GET 路由是否可以用于所有这些场景 或者我们应该针对
  • Web API GET 请求中的电子邮件地址

    我正在开发在 ASP NET Web API 中实现的 REST API 我们想要支持的一个场景是执行GET通过电子邮件地址请求一些用户信息 理想情况下 客户应该能够执行以下操作 GET api v1 users email your em
  • Elasticsearch GET API 获取分片大小

    在 Elasticsearch 2 3 3 中 有没有办法使用返回 JSON 的 GET API 获取分片大小 目前我找到了以下几种获取shard size的方法 这两种方法都存在问题 recovery gt 使用 JSON 进行响应并提供
  • 在 AngularJS 中动态显示图像

    我正在使用http请求从数据库获取图像的路径 并且图像位于服务器中 我想在 img src 中显示该图像 这是代码 http url user profile exec php method GET params uid user id s
  • 使用 AngularJS 制作 Windows Phone 全景图

    我正在尝试在 AngularJS 应用程序中复制 Windows Phone Ui 这是一个example http www expertreviews co uk gallery features 1295629 designing wi
  • FOSUserBundle & REST Api 调用:如何使用自定义 FormType?

    我在我的 Symfony2 网站上使用 FOSUserBundle 现在我正在开发一个 API 以允许通过 REST API 调用进行注册 我已经覆盖了 FOSUserBundle 的 RegistrationController ApiR
  • Angular-Datatables + Angular-xeditable:取消可编辑行

    当组合 Angular DataTables 和 Angular XEditable 时 添加新行时会取消可编辑行 这是jsfiddle https jsfiddle net faj61h5d 10 示例操作如下 1 这是初始状态 2 将第
  • 监听指令中的表单提交事件

    我想监听指令中提交的表单 假设我有这样的指令 app directive myDirective function return restrict A require form scope smth link function scope
  • Angular 和 Node JS 中的路由问题 [Angular]

    我有角度js的问题 我创建了 login html 和 home html 成功登录后我想将页面更改为 home html 我的路由不起作用 默认 url 是 localhost angular 我尝试路由 realpath 即 local
  • 如何使用 Angular Kendo UI 刷新网格数据源

    我使用 Angular Kendo UI 项目将 Telerik Kendo 网格与 Angular 结合起来 我有以下标记 div style height 600px div 以及我的控制器中的以下代码 scope thingsOpti
  • ExceptionHandler 不适用于 Throwable

    我们的应用程序是基于 Spring MVC 的 REST 应用程序 我正在尝试使用 ExceptionHandler 注释来处理所有错误和异常 I have ExceptionHandler Throwable class public R

随机推荐

  • 使用可变参数模板中的参数定义多个方法

    我想以某种方式定义一个基模板类 以便它采用可变模板参数并为每个参数定义一个虚拟方法 其中参数是参数类型 E g Base
  • 如何在Python中逐行打印字典?

    这是字典 cars A speed 70 color 2 B speed 60 color 3 使用这个for loop for keys values in cars items print keys print values 它打印以下
  • C# 中的运算符优先级

    Is int int1 float var2 Count 100 相当于 int int1 float var2 Count 100 它会使用浮点还是整数除法 编辑 如果上述答案是肯定的 那么在这里执行浮点除法有什么好处 and 根据第 7
  • 在 Html 页面中使用 Javascript 调用 Wcf 服务

    我在 VSStudio2012 中有一个 WCF 项目 我想从 JavaScript 函数调用一个方法 JavaScript 文件 var url http localhost 52768 Service1 svc function tes
  • 如何在 XNA 中逐像素绘制 2D?

    我正在尝试使用 XNA 在屏幕上逐像素绘制 但遇到资源问题 我认为最好的方法是使用 1 个纹理来更新每一帧 但我在更新它时遇到了麻烦 这是我到目前为止所得到的 只是作为测试 Texture2D canvas Rectangle traced
  • 在 Python 中使用 dbus 发送消息

    我有 2 个 Python 程序 我只想从一个向另一个发送一条消息 一长串 并且我想使用 dbus 现在 有没有一种简单的方法可以做到这一点 例如 如果消息非常小 我已经部分解决了将消息放在路径中的问题 但后来我不得不使用外部程序 dbus
  • 使用compareTo实现equals方法

    一般问题 当实现默认值的覆盖时equalsJava 中的方法 对于简单地使用已经实现的方法我应该担心什么compareTo方法 vs 将独立逻辑写入 equals 方法 我注意到有人在另一个问题中提到foo equals String nu
  • git 存储库克隆日志记录

    我希望监视 git 存储库中的克隆活动 但是我找不到任何显示如何设置或如何检索此信息的内容 这可能吗 如果是这样 如何设置以及如何检索日志记录信息 您可以使用post checkout用于更新服务器上的数据库或文件的钩子 该钩子在客户端运行
  • 模拟 ngrx 在单元测试中存储带有参数的选择器(Angular)

    我正在尝试为 Angular 中的服务编写单元测试 我想模拟 ngrx 的 store select 函数 这样我就可以测试服务如何对存储选择器返回的不同值做出反应 我希望能够单独模拟每个选择器 我的主要问题是如何模拟参数化选择器 我之前使
  • 使用 r 中的 ggplot2 编辑绘图工具提示中的标签

    我知道这个问题已经被问过很多次了 但我认为自从提出这些问题以来 plotly 的一些底层语法已经发生了变化 使用ggplotly 创建分区统计图会给出长 纬度 组的默认工具提示 以及我的美学变量之一 我知道工具提示仅映射美学内容 我想要做的
  • CLR 同步块地址

    当我做 public class Employee public int exp class Program static void Main string args Employee o1 new Employee o1 exp 3 lo
  • Three.js 中的内存泄漏

    我们正在尝试创建一个单页面应用程序 用户可以在其中在多个 Three js 应用程序之间切换 然而 我们注意到该选项卡的内存使用量不断增加 我们的应用程序中没有内存泄漏 并且 Three js 变量似乎没有从 RAM 中清除 重新创建的步骤
  • 在 IIS 中部署时打开内存映射文件会导致 FileNotFoundException

    以下代码示例来自this网站上 我创建了一个 Windows 控制台应用程序 用于创建映射内存文件 using var file MemoryMappedFile CreateNew myFile 24 var bytes new byte
  • 通过 webhook 触发 azure 管道?

    我想通过 Webhook 触发 Azure DevOps 管道 例如 我希望能够使用一些 JSON 向 Azure 上的某个端点发送 POST 然后让该端点触发要调用的管道 并向其传递 JSON 这可能吗 现在可在 Azure DevOps
  • 从符号链接获取真实路径 C#

    有谁知道如何从符号链接文件或文件夹中获取真实路径 谢谢你 大家好 经过我的研究 我找到了这个解决方案来获取符号链接的真实路径 如果您创建了符号链接并想检查该文件或文件夹的真实指针在哪里 如果有人有更好的写法请分享 DllImport ker
  • 如何为 ember.js 创建自定义适配器?

    我计划使用 ember js 但是我的 REST api 与打包的 REST 适配器并不完全一致 我想 覆盖 find 并能够将我自己的 ajax 放入其中 我不喜欢 ember findAll 在没有分页选项的情况下检索所有文档 因此与其
  • React 模式对话框的内容不可用于使用 mount() 的酶测试

    我有一个带有模式对话框的 React 组件 使用构建reactstrap 但其他人也报告了类似的问题react bootstrap和其他类型的模态组件 Enzyme 无法找到模态中的任何组件 即使它们在实际应用程序中呈现良好 最小的例子 i
  • 提高 R Rayshader 图像的分辨率

    我正在尝试使用 Rayshader 包制作图像 我很高兴能够使用如下代码创建 png 文件 library ggplot2 library rayshader example plot lt ggplot data frame x c 1
  • 如何在没有元类冲突的情况下将泛型类型与 PyQt 子类一起使用?

    我曾尝试过abc ABCMeta使用 sip 包装类型 并且当子类化时它工作得很好abc ABC class QABCMeta wrappertype ABCMeta pass class WidgetBase QWidget metacl
  • AngularJS - 在登录时存储基本身份验证

    我对此感到很头疼 我对 API 的使用还比较陌生 还没有做过任何需要身份验证的事情 我一直坚持向 API 发送 POST 请求 创建内容片段的端点是 entity node 如果我发送以下内容 我可以发送成功的 POST 请求 header