【Windows Azure】SAAS 多租户模式的Office 365应用开发指南
2016-06-07 18:01
423 查看
企业已经越来越多的把基础架构迁移到Windows Azure以及Office 365的办公环境,对于应用程序集成开放商来说,如何适用这种开发模式的转变,从原有面向本地服务器的编程访问方式,转换成面向云端数据的安全访问,就变得尤为重要,本文主要从实践入手,描述如何快速搭建和部署一个Office 365的应用,并且使得客户端能够安全的访问到Azure AD中的所有数据资源。
在Windows Azure保护下的API有如下几种:
Microsoft Graph(统一的API端点,可以使用 API 访问固定的实体,比如:用户、组、邮件、邮件、日历、任务和来自诸如
Outlook、OneDrive、Azure Active Directory、Planner、OneNote 及其他服务的备注)
Office 365 Exchange Online/SharePoint online/Yammer/Power BI等服务。
如何安全的访问到这些后台资源,需要我们的应用程序具备有和Windows Azure集成验证的功能。在软件层面,微软提供了Active Directory Authentication Library (ADAL) for .NET以实现OpenID/OAuth2.0的验证中间件,使用ADAL完成于Windows
Azure集成验证的所有流程。
在Azure AD中注册配置应用程序(可以是Web应用程序,也可以是Native的应用程序),需要注意设置客户端ID,密钥生成,设置API访问的权限
使用第三方的Windows Azure管理员账号安装APP应用,首先访问应用程序,点击登陆后,会自动识别该应用程序需要访问的权限列表(Consent Framework),提示管理员是否安装,如果确认安装,该应用程序会自动被安装在客户的Windows Azure AD的应用程序列表中。
至此应用程序的服务器端安装过程就已经完成。
如何分发Office 365的客户端软件?
我们以Exchange Outlook为例子,管理员可以以Mail APP的方式直接在Exchange的ECP管理控制台中直接部署客户端,另外可以通过 Office Store的方式去安装应用客户端。
管理员下发客户端后,在outlook或OWA中即可得到对应的用户体验。
以上步骤在Windows Azure国际版本和Office 365国际版本中环境都已验证。
在Windows Azure保护下的API有如下几种:
Microsoft Graph(统一的API端点,可以使用 API 访问固定的实体,比如:用户、组、邮件、邮件、日历、任务和来自诸如
Outlook、OneDrive、Azure Active Directory、Planner、OneNote 及其他服务的备注)
Office 365 Exchange Online/SharePoint online/Yammer/Power BI等服务。
如何安全的访问到这些后台资源,需要我们的应用程序具备有和Windows Azure集成验证的功能。在软件层面,微软提供了Active Directory Authentication Library (ADAL) for .NET以实现OpenID/OAuth2.0的验证中间件,使用ADAL完成于Windows
Azure集成验证的所有流程。
在Azure AD中注册配置应用程序(可以是Web应用程序,也可以是Native的应用程序),需要注意设置客户端ID,密钥生成,设置API访问的权限
使用第三方的Windows Azure管理员账号安装APP应用,首先访问应用程序,点击登陆后,会自动识别该应用程序需要访问的权限列表(Consent Framework),提示管理员是否安装,如果确认安装,该应用程序会自动被安装在客户的Windows Azure AD的应用程序列表中。
至此应用程序的服务器端安装过程就已经完成。
如何分发Office 365的客户端软件?
我们以Exchange Outlook为例子,管理员可以以Mail APP的方式直接在Exchange的ECP管理控制台中直接部署客户端,另外可以通过 Office Store的方式去安装应用客户端。
管理员下发客户端后,在outlook或OWA中即可得到对应的用户体验。
以上步骤在Windows Azure国际版本和Office 365国际版本中环境都已验证。
相关文章推荐
- Codeforces 3A Shortest path of the king(BFS???NO!!)
- MHA故障切换和在线手工切换原理
- Android逆向分析之dex2jar和jd-gui使用
- 抽象类与接口
- 第二节课作业
- C# 操作pem 文件
- 陈伊力:手游将会出现更多同步交互类游戏
- 第三方库 EGORefresh的使用
- 实现操作系统TOS lab1
- 浅析CSS——元素重叠及position定位的z-index顺序
- Rsync启动停止脚本
- webview支持两指缩放
- javaWeb学习servlet过程遇到405问题
- 第15周-阅读程序(4)
- ijkplayer编译(mac)
- assigned , native , identity 区别-Field 'id' doesn't have a default value问题解决方法
- 第二阶段冲刺第八天(6月7号)
- 【JavaScript】js实现图片翻转
- 标日初上-第7課
- 忘记oracle的sys用户密码怎么修改