使用Postman访问OAuth2保护的WebAPI

需要使用Postman访问WebAPI时,需要使用三个步骤

1.创建Azure AD应用

2.生成Token

3.Postman根据生成的Token调用WebAPI

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

一、创建Azure AD应用

进入至Azure控制台页面,选择“Azure Active Directory”

选择“应用注册”

选择新应用“程序注册”

在创建的窗口输入应用的“名称”及“登陆URL”,这里面的地址是预先输入的,使用的是3006端口,这个3006端口后面会用到

创建的应用程序中,基本的属性

创建了一个应用,但是这个应用却没有任何权限,需要加入访问后台API的权限

选择“所需权限”后,点击“添加”,出现了“选择API”后,输入后台的API的关键字,并点击下方的“选择”按钮

我们这里选择的是“Designer Workbench (DEV) - Backend”

选择了API后,需要选择权限,当出现的权限列表后,勾选权限,确定即可

除了“所需权限”外,我在此演示的是通过创建一个密钥,然后就不需要登陆,直接可以获取到Token

点击“密钥”,输入“描述”,并选择“到期”为“永不过期”,点击“保存”

保存过后,生成的密钥请复制至电脑并保存,后面会需要用到

g+IisbGtjKqwQCz6GxO9Tw01ca59MxI8YLFE3WEudwY=

二、生成Token

在电脑中新建文件夹“token-test”

在文件夹运行命令“npm install -g express”,全局安装express

使用"express token-test"生成一个nodejs的项目,完成后,会在空文件夹下面再生成一个token-test文件夹,

进入至token-test中,使用命令“npm install”安装所有的依赖包

并使用命令"npm install --save adal-node"安装adal依赖包

并使用visual studio code打开项目

在“/bin/www”文件中修改端口号为之前项目的3006端口

在修改代码之前,需要查询到后台API的URI地址

查询到后台API的URI后,复制待用

修改"routes/index.js"代码为

这里解析一下各个参数的意思

tenant: ‘esquel.onmicrosoft.com‘ :意思是接入Azure服务的域名

authorityHostUrl: ‘https://login.windows.net‘,:这个登陆地址是固定的

clientId: ‘7e3fbc01-eda8-41de-bd80-a5a208fa12a2‘,:是新加入的AzureAD应用的应用ID

clientSecret: ‘g+IisbGtjKqwQCz6GxO9Tw01ca59MxI8YLFE3WEudwY=‘:新加入的AzureAD应用的密钥

var resource = ‘https://esquel.onmicrosoft.com/705cadd7-d8b2-44f7-9c28-3841c112f04b‘;:后台API应用的URI

另外修改“views/index.jade”代码为

运行命令“npm start”运行项目,并打开浏览器,输入地址“http://localhost:3006”

三、Postman调用WebAPI

如chrome浏览器还没有安装postman的,先安装postman

https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?utm_source=chrome-ntp-icon

安装postman后

正常未使用token时,是无法访问的

如在header的Authorization设置为"Bearer"+空格+token,即可访问到API

时间: 2024-08-11 05:07:21

使用Postman访问OAuth2保护的WebAPI的相关文章

postman 访问 jenkins api 接口异常及处理

问题:通过Postman访问 Jenkins api时出现访问权限问题 <html>    <head>        <meta http-equiv='refresh' content='1;url=/jenkins/login?from=%2Fjenkins%2Fapi%2Fjson'/>        <script>window.location.replace('/jenkins/login?from=%2Fjenkins%2Fapi%2Fjso

使用HttpClient访问被保护资源

下面的Android应用需要向指定页面发送请求,但该页面并不是一个简单的页面,只有当用户已经登录,而且登录用户的用户名是crazyit.org时才可访问该页面.如果使用HTTPURLConnection来访问该页面,那么需要处理的细节就太复杂了. 访问Web应用中被保护的页面,如果使用浏览器则十分简单,用户通过系统提供的登录页面登录系统,浏览器会负责维护与服务器之间的Session,如果用户登录的用户名.密码符合要求,就可以访问被保护资源了. 为了通过HttpClient来访问被保护页面,程序同

SEAndroid安全机制对Android属性访问的保护分析

Android系统通过属性暴露设备和运行时信息,并且可以通过设置属性来控制系统行为.因此,属性也像文件一样,是一种需要保护的资源.在启用SEAndroid之前,敏感属性只能被预先设定的进程进行设置.启用SEAndroid之后,敏感属性会进一步被SEAndroid安全策略保护.这样就可以更有效地保护系统属性了.在本文中,我们就详细分析SEAndroid安全机制对Android属性设置保护提供的支持. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! 在分析SE

SpringCloud(9)使用Spring Cloud OAuth2保护微服务系统

一.简介 OAth2是一个标准的授权协议. 在认证与授权的过程中,主要包含以下3种角色. 服务提供方 Authorization Server. 资源持有者 Resource Server. 客户端 Client. OAuth2的认证流程如图所示,具体如下. (1)用户(资源持有者)打开客户端 ,客户端询问用户授权. (2)用户同意授权. (3)客户端向授权服务器申请授权. (4)授权服务器对客户端进行认证,也包括用户信息的认证,认证成功后授权给予令牌. (5)客户端获取令牌后,携带令牌向资源服

用Spring Cloud OAuth2保护微服务系统

一.简介# OAth2是一个标准的授权协议. 在认证与授权的过程中,主要包含以下3种角色. 服务提供方 Authorization Server. 资源持有者 Resource Server. 客户端 Client. OAuth2的认证流程如图所示,具体如下. (1)用户(资源持有者)打开客户端 ,客户端询问用户授权. (2)用户同意授权. (3)客户端向授权服务器申请授权. (4)授权服务器对客户端进行认证,也包括用户信息的认证,认证成功后授权给予令牌. (5)客户端获取令牌后,携带令牌向资源

如何使用postman访问网站

1.输入Request URL2.选择Request Method3.输入需要的Request Headers注意:一般token会在Headers中 原文地址:https://www.cnblogs.com/jishugaochao/p/10192076.html

Vue 项目 login 模块

登录模块 需要做路由的守卫,有些模块是需要被保护的,必须登录才能访问. 常见手法是给路由添加 meta:{ auth:true } 来做标识,表示需要做认证. // 路由守卫 router.beforeEach((to, from, next) => { // 判断要进入的路由是否需要认证 if(to.meta.auth) { // 通过token令牌机制判断是否已经登录 const token = localStorage.getItem('token'); if (token) { next

SpringSecurity使用json登陆

? ? 一.创建项目并导入依赖 ? ? <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId>

jsp限制访问 - 保护页面的3种方法

一.WEB-INF文件夹保护页面 众所周知,web-inf文件夹的文件是不能直接访问的,所以,在开发的时候可以直接将jsp页面放入该文件夹中.通过页面转发机制,来访问.(转发是一个内部操作,可以通过Servlet对其进行访问) 二.web.xml保护页面 如果不想通过WEB-INF文件夹防止页面直接访问,可以通过web.xml的安全机制,实现页面的保护作用. 通过<security-constraint>元素设置受保护的url地址 具体操作: 在web.xml文件中进行如下设置: <se