注册Azure AD 应用程序
作者:陈希章 发表于2017年3月22日
在此前的文章中,我给大家介绍了分别用Graph 浏览器以及第三方工具(POSTMAN)快速体验Microsoft Graph的功能,其中有一个重要的环节就是,开发人员需要访问Microsoft Graph的话,其实是事先需要注册一个应用程序的。Graph 浏览器是特例,因为这个应用程序是微软官方注册好的。而大家在POSTMAN这篇文章中已经看到我注册的自定义应用程序的效果。我这里再针对这个问题展开介绍。
目前针对Microsoft Graph的应用程序注册,有两种途径:
- Azure AD应用程序,它仅适合于开发人员希望用户能授权访问工作或者学校的账号。
- Azure AD 2.0应用程序,它适合于开发人员希望既希望用户授权访问工作或者学校的账号,也能授权访问个人账号。
前一种方式也可以称为Azure AD 1.0,从趋势上来说,后者将逐渐全面取代,成为日后主要的方式。但就目前而言,2.0中所提供的服务数量还没有1.0多。
创建应用程序
这一篇文章,我首先介绍Azure AD应用程序这种注册方式。
我在之前已经介绍过,其实Microsoft Graph的一个基础是Azure AD,所以第一步需要使用你的Office 365账号登录到Azure管理中心 https://portal.azure.com
点击左侧的Azure Active Directory,然后点击“应用注册”
点击“新应用程序注册”按钮,输入必要的信息即可创建一个新的应用程序
这里要给大家介绍,Auzre AD应用程序有两种主要类型,一种是Web应用/API,另外一种是“本机”应用,其中通常指的是网站或者服务站点,或者则指的是桌面应用或者移动应用。如果选择前者,那么需要提供登录Url, 这个需要填写对应的网站真正的登录路径;而如果选择了后者,则需要提供重定向URL,这个地址其实是可以随便填,例如http://localhost 即可。
点击“创建”按钮,就可以快速完成应用程序的创建工作。
申请权限
接下来我们需要为这个应用程序申请必要的权限。点击上图中的“所需权限”按钮,然后依次进行如下操作
在委派权限中选择如下四个权限
创建密钥 [可选]
这一步并不是必须的。一般情况下,我们调用Microsoft Graph之前,都会弹出(或者跳转)到指定的页面要求用户去输入账号信息,并且亲自确认授权。但是如果我们的应用程序是一个后台的服务,它需要一直运行,而且是没有交互界面的,这种情况下则需要另外创建一个密钥,同时采用Client Credential的方式来获取授权。(这个具体代码的做法,我会在后续的范例程序中做介绍)
创建密钥很简单,你需要指定名称和时效,然后点击“保存”后,会自动生成一个密钥。请一定注意,这个密钥必须马上复制妥善地保存,因为在此刷新页面它就不可查看了。
如果我们是为后台服务类应用程序进行注册,那么除了创建密钥外,还需要为应用程序申请“应用程序权限”,而不是“委派权限”。
委派的意思,指的是代理当前用户进行操作,所以它是需要用户交互式授权的。而“应用程序权限”则是不跟具体某个用户有关,是直接授予应用程序的权限。
小结
要进行Microsoft Graph的开发,必须要在Azure AD中进行应用程序的注册,由于历史的原因,目前我们有两个不同的版本。本文介绍了Auzre AD 1.0中注册应用程序的步骤,并且也说明了三种不同类型的应用(Web 应用/API ,本机,后台服务),以及两种不同的权限(委派权限,应用程序权限)。
注册Azure AD 应用程序的更多相关文章
- 注册Azure AD 2.0 应用程序
作者:陈希章 发表于 2017年3月22日 上一篇 介绍了Microsoft Graph应用程序的一些概念,以及目前还比较普遍的Azure AD 1.0应用程序的注册方式.但正如我多次提到的那样,虽然 ...
- Azure AD B2C(二)使用Azure AD B2C为ASP.NET Core 应用设置社交帐户(邮箱)登录/注册
一,引言 上次关于Azure AD B2C 讲到一些概念,有介绍到,Azure AD B2C 也是一种身份验证的解决方案,但是它运行客户使用其首选的社交,企业或者本地账户标识对应用程序和API进行单一 ...
- Azure AD(二)调用受Microsoft 标识平台保护的 ASP.NET Core Web API 上
一,引言 上一节讲到Azure AD的一些基础概念,以及Azure AD究竟可以用来做什么?本节就接着讲如何在我们的项目中集成Azure AD 包含我们的API资源(其实这里还可以在 SPA单页面应用 ...
- 【Azure Developer】使用Postman获取Azure AD中注册应用程序的授权Token,及为Azure REST API设置Authorization
Azure Active Directory (Azure AD) is Microsoft's cloud-based identity and access management service, ...
- 掀起Azure AD的盖头来——深入理解Microsoft Graph应用程序和服务权限声明
作者:陈希章 发表于 2017年7月12日 引子 这是一篇计划外的文章.我们都知道要进行Microsoft Graph的开发的话,需要进行应用程序注册.这个在此前我已经有专门的文章写过了.但这里存在一 ...
- Azure AD(五)使用多租户应用程序模式让任何 Azure Active Directory 用户登录
一,引言 距离上次分享关于 “Azure AD" 的知识过去差不多2个多月了, 今天最近刚好也是学习,分享一下关于Azure AD 使用多租户应用程序模式让任何 Azure Active D ...
- 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证-2.2身份验证开发]
2.2身份验证开发 在我们的案例中,我们是用户通过Web应用程序进行身份识别. 上面的图示说明了如下的一些概念 l Azure AD 是标识提供程序,负责对组织的目录中存在的用户和应用程序的标识进行验 ...
- 用Azure AD 实现Web 应用身份认证的Multi-Factor Authentication(MFA)
最近客户有个需求,希望把面向public的Web应用中的终端用户数据库由Azure AD来实现,同时希望可以用MFA来实现用户身份认证.这个想法非常好,通过使用Azure的managed servic ...
- 无责任Windows Azure SDK .NET开发入门(二):使用Azure AD 进行身份验证
<編者按>本篇为系列文章,带领读者轻松进入Windows Azure SDK .NET开发平台.本文为第二篇,将教导读者使用Azure AD进行身分验证.也推荐读者阅读无责任Windows ...
随机推荐
- 动态创建 script 实现跨域请求数据
动态创建script标签 (由事件触发) 在我们需要请求数据的时候我们就可以动态的创建 script 标签 src设置为我们需要请求数据的地址 另外我们可以附加参数 ?后面附加参数 例如 :?参数=1 ...
- Mac上查看隐藏文件夹/文件
一.查看隐藏文件夹: 可以直接在终端执行 open ~/文件夹名称 如: open ~/.ssh 二.查看隐藏文件: 在Finder下进入你想要操作的文件夹,按快捷键Command + F 调出搜索窗 ...
- 初生牛犊不怕虎 golang入坑系列
读前必读,下面所有内容都是来自这里. 放到这里的目的,就是为了比对一下,哪里的读者多.平心而论,同样的Markdown,博客园排版真心X看,怎么瞅怎么X看.(X := '难' || X :='耐' | ...
- 【转】jQuery代码片段备用
在CSDN看到的,记下备用.原文:http://www.csdn.net/article/2013-07-16/2816238-15-jquery-code-snippets-for-develope ...
- SpringAware
哈哈,终于把分布式的课程演讲给混过去了,下面开始随便自己学点东西. 正题:SpringAware--------在实际项目中,用到spring容器的本省功能资源,这是Bean必须意识到Spring容器 ...
- RocketMQ快速入门
前面几篇文章介绍了为什么选择RocketMQ,以及与kafka的一些对比: 阿里 RocketMQ 优势对比,方便大家对于RocketMQ有一个简单的整体了解,之后介绍了:MQ 应用场景,让我们知道M ...
- webpack 3.X学习之初始构建
webpack是什么 webpack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Sass,TypeScript等),并 ...
- TFboy养成记 多层感知器 MLP
内容总结与莫烦的视频. 这里多层感知器代码写的是一个简单的三层神经网络,输入层,隐藏层,输出层.代码的目的是你和一个二次曲线.同时,为了保证数据的自然,添加了mean为0,steddv为0.05的噪声 ...
- C语言之赋值
#include<stdio.h>/*void change(int m,int n){ int t; t=m; m=n; n=t;}*/int main(){//交换两杯水,需要一个空杯 ...
- 基于文本图形(ncurses)的文本搜索工具 ncgrep
背景 作为一个VIM党,日常工作开发中,会经常利用grep进行关键词搜索,以快速定位到文件.如图: 利用grep进行文本搜索 但是,这一过程会有两个效率问题: 展示的结果无法进行直接交互,需要手动粘贴 ...