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

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. guava使用

    对于Guava Cache本身就不多做介绍了,一个非常好用的本地cache lib,可以完全取代自己手动维护ConcurrentHashMap. 背景 目前需要开发一个接口I,对性能要求有非常高的要求 ...

  2. Spring通过注解@Autowired/@Resource获取bean实例时为什么可以直接获取接口而不是注入的类

    问: 这个问题困扰了我好久,一直疑问这个接口的bean是怎么注入进去的?因为只看到使用@Service注入了实现类serviceImpl,使用时怎么却获取的接口,而且还能调用到实现类的方法,难道这个接 ...

  3. Falsk框架 Session 与 Flask-Session

    目录 Cookie 与 Session 简单了解 Falsk 中 Session 的保管机制 相关的配置 使用 Flask-Session 三方组件 基础练习题 Cookie 与 Session 简单 ...

  4. K9F1G08U0B K9F2G08U0A K9F2G08U0M

    *L must be set to "Low" Ax表示bit,分5个周期写,一次一个Byte 原理图 引脚定义 命令 Program Erase Read 实验程序 https: ...

  5. 使用ABAP操作Excel的几种方法

    这篇文章本来不在我计划之内,因为最近一个朋友微信上问到我这个问题,但我平时在SAP研究院工作中从没遇到过需要用ABAP操作Excel的需求,因此也没有太多技术实现细节可以分享给大家,只能泛泛写一些. ...

  6. EFK(Elasticsearch+Filebeat+Kibana)收集容器日志

    介绍 Elasticsearch 是一个实时的.分布式的可扩展的搜索引擎,允许进行全文.结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档. Beats 是数据采集的得力工具 ...

  7. linux文件常用操作

    建立目录:mkdir mkdir -p [目录名] -p 递归创建 命令英文原意: make directories 切换所在目录:cd cd [目录] cd ~    进入当前用户的家目录 cd c ...

  8. idea生成类中序列化id

    RPC接口中要传输的对象需要序列化,需要生成序列id,idea中生成序列id的方式如下 在需要添加序列id的类中,选中类名,alt+enter就可以实现了

  9. 肖哥HCNP-正式篇笔记

    21.网工学习环境准备. 一. 关掉所有杀毒软件及管家如阿健. 二. 安装环回网卡 (一定要先安装.) 1. 计算机设备管理 2. 在右侧最上端计算机名上方右键,点击过时硬件. 3. 下一步.手动选择 ...

  10. CentOS 7源码安装MYSQL-5.6

    一. 环境准备 Linux CentOS7.3系统一台主机即可: MYSQL官网:https://www.mysql.com/ MYSQL软件下载:http://ftp.kaist.ac.kr/mys ...