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

  1. 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. 【开发工具】- Atom下载及安装

    原文地址:https://www.jianshu.com/p/c112f024e0ab

  2. 彻底弄懂ES6中的Map和Set

    Map Map对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值.构造函数Map可以接受一个数组作为参数. Map和Object的区别 一个Object 的键只能是字符串或者 Symb ...

  3. python3中try异常调试 raise 异常抛出

    一.什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错误. 当Py ...

  4. 个人项目WC(Python实现)

    一.GitHub地址 https://github.com/hoka-17/WC 二.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际 ...

  5. Linux“七大蠢”收录

    这个系列的文章,前段时间在微信公共平台(阿里技术嘉年华)上看过,写得很好. Linux"七大蠢"之一:万般皆文本 Linux"七大蠢"之二:处处有脚本 Linu ...

  6. Jmeter配置元件

    1.CSV Data Set Config Filename   参数化文件的路径 文件中的数据最后一行不能有空行,空行会被当做一个参数 若要进行分布式压测,可以将参数化文件放在jmeter的bin目 ...

  7. Principle如何制作动效设计?简单易学的Principle动效设计教程

    Principle for Mac是一款新开发的交互设计软件.相比 Pixate 更容易上手,界面类似 Sketch 等做图软件,思路有点像用 Keynote 做动画,更「可视化」一些. 如果您还没有 ...

  8. SQL进阶系列之9用SQL处理数列

    写在前面 关系模型的数据结构里,并没有顺序的概念,但SQL处理有序集合也有坚实的理论基础 生成连续编号 --生成连续编号 CREATE TABLE Digits (digit INTEGER PRIM ...

  9. Good Numbers(HDU5447+唯一分解)

    题目链接 传送门 题面 题意 首先定义对于\(k\)的好数\(u\):如果\(u\leq k\)且\(u\)的所有质因子与\(k\)的质因子一样则称\(u\)对于\(k\)是一个好数. 现给你两个数\ ...

  10. django考点答案

    1 列举Http请求中常见的请求方式 2 谈谈你对HTTP协议的认识.1.1 长连接3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈你对ORM的理解 ...