通过如下代码,可以正常请求并获取对应的数据:

curl -X POST -H "Accept:application/vnd.edusoho.v2+json" -H "Authorization: Basic dGVzdDJlZHVvc2hvOjEyMzQ1Ng==" http://demo.edusoho.com/api/tokens

但是我想将其中的请求地址替换成我自己的域名,却不行。

由于Edusoho开发文档并未对其详说,于是我便提相关的issue。

我提的issue如下:
https://github.com/edusoho/edusoho/issues/65

最后这个问题,还是解决了。本次问题的原因还是我对于Http Basic Authentication(又称HTTP基本认证)缺乏了解,不然早就可以解决了。

本次解决主要参考这篇文章HTTP Basic Authentication认证

这篇文章让我知道Authorization对于的值到底是什么意思。之前之所以得不到预想的结果就是因为不理解不知道。
当我知道dGVzdDJlZHVvc2hvOjEyMzQ1Ng,对应的实际上是用户名:密码(使用Base64加密))后,一切问题皆迎刃而解。

最后通过在线Base64加密http://tool.oschina.net/encrypt?type=3
将对应用户名:密码这种格式进行加密后成功,再次请求对应的接口,如图所示:

记住加密一定要按照如下格式:
格式=> 用户名:密码(中间加冒号)

请求成功获取token,拿到token后,这时你就可以玩玩其他的接口(建议对Edusoho二次开发的朋友们可以试试,非二次开发的朋友也可以借鉴它的这种接口鉴权方式,然后为其所用)。

Edusoho API地址为:http://developer.edusoho.com/api

关于HTTP常用的场景,如图所示(这种就比较常见了):

相信这种场景,大家都不陌生。

Http常用认证如下五种:

Http Basic Auth

OAuth

Cookie Auth

Token Auth

基于JWT的Token认证机制

认证的根本目的就是让用户访问更加安全,防止不法分子窃取用户名和密码做一些违法的事情。

关于上面的认证,后续用到后,会有一个详解。

顺便补充一点,实际开发系统并不建议使用Http Basic Auth这种方式,因为它简单(每次请求API都提供用户的username和password),参数中携带如此敏感信息,有着极大的暴露风险,所以在生产环境中被使用的越来越少。

参考资料如下:
HTTP 几种常用的认证机制
HTTP Basic Authentication认证

Edusoho之Basic Authentication的更多相关文章

  1. Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结

    Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...

  2. Nancy 学习-身份认证(Basic Authentication) 继续跨平台

    开源 示例代码:https://github.com/linezero/NancyDemo 前面讲解Nancy的进阶部分,现在来学习Nancy 的身份认证. 本篇主要讲解Basic Authentic ...

  3. HTTP Basic Authentication

    Client端发送请求, 要在发送请求的时候添加HTTP Basic Authentication认证信息到请求中,有两种方法:1. 在请求头中添加Authorization:    Authoriz ...

  4. Web services 安全 - HTTP Basic Authentication

    根据 RFC2617 的规定,HTTP 有两种标准的认证方式,即,BASIC 和 DIGEST.HTTP Basic Authentication 是指客户端必须使用用户名和密码在一个指定的域 (Re ...

  5. Web API 基于ASP.NET Identity的Basic Authentication

    今天给大家分享在Web API下,如何利用ASP.NET Identity实现基本认证(Basic Authentication),在博客园子搜索了一圈Web API的基本认证,基本都是做的Forms ...

  6. PYTHON实现HTTP基本认证(BASIC AUTHENTICATION)

    参考: http://www.voidspace.org.uk/python/articles/authentication.shtml#id20 http://zh.wikipedia.org/wi ...

  7. HTTP Basic Authentication认证的各种语言 后台用的

    访问需要HTTP Basic Authentication认证的资源的各种语言的实现 无聊想调用下嘀咕的api的时候,发现需要HTTP Basic Authentication,就看了下. 什么是HT ...

  8. 一个HTTP Basic Authentication引发的异常

    这几天在做一个功能,其实很简单.就是调用几个外部的API,返回数据后进行组装然后成为新的接口.其中一个API是一个很奇葩的API,虽然是基于HTTP的,但既没有基于SOAP规范,也不是Restful风 ...

  9. HTTP Basic Authentication认证(Web API)

    当下最流行的Web Api 接口认证方式 HTTP Basic Authentication: http://smalltalllong.iteye.com/blog/912046 什么是HTTP B ...

随机推荐

  1. IDEA配置自己的注释

    File-->Setting-->Live Templates,点击+,选择2.Template Group... 创建Group,我的命名为MyAnnotation,然后选中MyAnnt ...

  2. Python学习笔记-数字,列表,元祖,切片,循环

    数字 1,加减乘除:+,-,*,/ 2,平方:** 3,立方:**3 4,字符串转换:str(数字) 5,浮点数:带小数点  0.2 Python编程建议 import this >>&g ...

  3. oracle之PLSQL导出-导入-表-存储过程等操作--亲测好用

    1.背景 实际开发中考虑到安全,不会将生产库的数据和本地开发数据进行同步操作,而是采用导入导出sql语句的方式操作; 例如在开发环境写好的存储过程要更新到生产环境,那么就需要使用导出和导入功能. 2. ...

  4. 四、Linux_用户切换

    四.用户切换 # 切换用户的命令为: su username # 从普通用户切换到root用户,还可以使用命令: sudo su

  5. 今天看了《SOFT SKILLS The Software Developer's Life Manual》有感

    从第四篇生产力开始看的,书中提到了专注,待续

  6. django引用模板报错Template file 'index.html' not found

    产生报错的原因在于index.html未被引用到,处理办法是在setting.py中加入app的name. 我这里app的名字叫sign,所以加入sign就好了 再次访问就好啦

  7. HTML&CSS基础-文档声明

    HTML&CSS基础-文档声明 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HTML的发展 1993年6月: HTML第一个版本 1995年11月: HTML2.0 ...

  8. jmeter设置代理服务器录制脚本

    新建测试计划之后: 1.添加非测试元件:HTTP代理服务器 a.其中目标控制器可以控制选哪个线程放录制的脚本: b.将端口设置为8888或者其他不常用的端口,保持跟其他应用的端口不一致,否则被占用导致 ...

  9. [POJ2083] Fracal

    Description A fractal is an object or quantity that displays self-similarity, in a somewhat technica ...

  10. python——使用xlwing库进行Excel操作

    Excel是现在比不可少的数据处理软件,python有很多支持Excel操作的库,xlwing就是其中之一. xlwings的安装 xlwings库使用pip安装: 在控制台输入 pip instal ...