注册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 ...
随机推荐
- 使用flex
Flex如何处理二义性模式: 1.词法分析器匹配输入时匹配尽可能多的字符串 2.如果两个模式都可以匹配的话,匹配在程序中更早出现的模式 上下文相关的记号 flex提供起始状态(start state) ...
- flex词法解析
例子1.从标准输入的字数.单词.行数统计 %{ #include <string.h> int chars = 0; int lines = 0; int words = 0; %} %% ...
- 脱掉Golang的第一层衣裳 golang入坑系列
读前必读,博客园的文章并非最新,想看最新还是建议点击这里.博客园的文章是为了方便不能FQ的同学,同步而来的.不放在博客园,不是不支持国产,而是博客园的排版太难看了,太难看了,太难看了!而且还没有客户端 ...
- 超级有用的Vim命令
你是否曾经烦恼,每次编辑vim文件,想要跳到一行结尾,需要按多次右键,每次想找到某个字符的位置,都得用肉眼去观察,每次想跳到文件结尾,都要按多次向下键.现在,你不必担心这些繁杂的过程,因为我们完全可以 ...
- 重要:关于PPT转图片需要注意的问题
关于PPT转图片的问题需要注意的问题 我们有一个项目做过直接上传ppt的功能,但是网页不可能显示ppt,所以只能把ppt转成pdf或者图片来显示,我们的做法是转成了图片,然后使用swiper做成类 ...
- display:box和display:flex填坑之路
背景分析:最近做移动端项目时,遇到一个常见的需求: 可以滑动的导航,如下图 虽然是很常见的一个布局,但在移动端没有做过,想当然的写下以下的样式,简单描述下: 父元素 width:100%: overf ...
- continue,break以及加上标签的使用(goto思路)
代码例子在java编程思想70-73页.这里只是想做做总结 java中需要用到标签的唯一理由就是因为由循环嵌套的存在,而且想从多层嵌套循环中break或者continue. 因此,标签只能放在循环前面 ...
- JavaScript正则表达式(Regular Expression):RegExp对象
第一部分:新建正则表达式 JavaScript中正则表达式是参照Perl 5(一门历史很悠久的语言,现在tiobe编程语言排行依然在10名左右)建立的. 新建正则表达式的方法有两种: 1.使用字面量( ...
- 虚拟机安装 deepin Linux 注意事项
主要要注意下面几点: 一.虚拟机"客户机操作系统"类型 选择"Windows 7 x64" 选择"客户机操作系统"类型,这个选择十分重要,D ...
- ESLint 的正式使用感受
介绍ESLint ESLint 是一个代码规范和错误检查工具,有以下几个特性 所有东西都是可以插拔的.你可以调用任意的rule api或者formatter api 去打包或者定义rule or fo ...