当前位置: 首页 > 面试题库 >

在angularjs中向此HTTP GET添加HTTP基本身份验证

宇文兴言
2023-03-14
问题内容

我有一个现有的angularjs代码,可以进行HTTP GET。下面提取的是控制器内部的一些相关代码。

    .controller('imptViewCtrl', ['$scope', '$http', 
        function ($scope, $http, ) {
                    var url = $configuration.webroot + '/impt/list?list=testlist';
                    $http.get(url).then(function (response) {
                               tableData = response.data;
                               });
        }]);

我想将HTTP基本身份验证添加到HTTP GET。用户名为foo,密码为bar。如何才能做到这一点?


问题答案:

因为在基本身份验证中,用户名和密码由base64解码。您首先需要找到一个图书馆来完成这项工作。

https://github.com/ninjatronic/angular-
base64

之后,加载base64到您的应用程序和配置标题中。

angular
    .module('myApp', ['base64'])
    .config(function($httpProvider, $base64) {
        var auth = $base64.encode("foo:bar");
        $httpProvider.defaults.headers.common['Authorization'] = 'Basic ' + auth;
    })

您也可以根据需要提供身份验证标头以get单独运行。

var auth = $base64.encode("foo:bar"), 
    headers = {"Authorization": "Basic " + auth};
$http.get(url, {headers: headers}).then(function (response) {


 类似资料:
  • 我尝试了angular.js,并从一个restful api的web-ui开始(使用超文本传输协议基本授权)。这真的很好,除了授权工作。 到目前为止,我使用的是设置密码,但大多数情况下浏览器会打开http basic auth的默认登录表单。另一个奇怪的行为是angular请求不包含授权头(选项和GET请求都不包含)。我还尝试使用header配置在每个请求上设置此header,但这也不起作用。 有

  • 问题内容: 我想写书,所使用的一个一个的NodeJS REST的API服务器Joyent的,并且一切正常,除了我无法验证普通用户的身份验证。如果我跳到终端并执行,则无法在NodeJS http服务器上获取值username:password。如果我的NodeJS http服务器类似于 ,是否应该在来自回调的 req 对象中某处获取值username:password ?如何获得这些值而不必使用Co

  • 问题内容: 如何在AngularJs中使用基本身份验证?我已经在Google上搜索了,但是资源对我来说不起作用。我 非常 新AngularJS 问题答案: 假设您的html定义如下: 您可以使用以下基本身份验证将后端连接到rest api: 请注意,此代码的大部分是方法。如果不需要支持IE9及更低版本,则可以将其替换为本地JS实现- atob()和btoa():https : //develope

  • 问题内容: 因为在AngularJS中使用CORS和http身份验证可能会比较棘手,所以我编辑了问题以分享一个经验教训。首先,我要感谢igorzg。他的回答对我很有帮助。场景如下:您想使用AngularJS $ http服务将POST请求发送到另一个域。获取AngularJS和服务器设置时,需要注意一些棘手的事情。 第一:在您的应用程序配置中,您必须允许跨域调用 第二:您必须指定withCrede

  • 我想添加只允许经过身份验证的用户在Jitsi会议中创建会议的功能。我看到了外部API的jwt参数、config.tokenAuthUrl和lib-jitsi-met令牌文档,但我对如何将它们放在一起感到非常困惑。 现在,我的工作流程如下: 用户通过自定义应用程序登录谷歌。 用户被重定向到一个新的Jitsi会议,使用从Google登录信息派生的jwt参数。 我遇到的问题是验证这个令牌,以及如何设置它

  • 我使用Maven插件( 在target/generated source/wsdl2java/com中生成文件。公司。项目包括: Foo.java(java接口) foServiceLocator.java foSoapBindingImpl.java(java空实现) FoSoapBindingSkeleton.java FoSoapBindingStub.java 在我的项目中,我在一个同名的