感谢大佬的付出
项目地址:
https://github.com/wuruiwm/msautocreate
为什么要通过 API 自助注册 Microsoft 365 / Office 365 A1 A1P A3 子号?直接登录后台创建子号他不香吗?原因很简单,因为我们手上的 Microsoft 365 / Office 365 A1 A1P A3 全局基本上都是【非法】的,说不定哪天全局管理员账号就不能登录后台了,如果你又没有创建 API 权限,那就晚了,要是创建了 API 权限,你还能通过 API 自助创建子号来玩一下
一 创建条件
- 全局管理员账号
- 域名
- VPS
二 解析域名
我的域名都是托管在 CloudFlare 的,在 DNS 中添加 A 记录,名称随意,我用的【ms】,之后的地址就是【ms.winvps.eu】,内容中的 IPv4 填你的【VPS IP】,如下图
三 获取 API 权限和相关参数
进入:
登录 Microsoft 365 / Office 365 A1 A1P A3 全局管理员账号
登录后,点击进入,【注册应用程序】
名称随意,我填的【API 权限】,其他的不变,如下图所示
然后点【注册】
获取【应用程序(客户端) ID / client_id】和【目录(租户) ID / tenant_id】,【非常重要,注意备份】
- 应用程序(客户端) ID / client_id:eee14006-540d-42ea-a9bb-vvve85bfacea
- 目录(租户) ID / tenant_id:eeece959-56a2-493f-98da-vvv52ecaea5c
点击左边的【证书和密码】
点击【新客户端密码】,说明随意,我用的【microsoft】,【截止期限】最好选【从不】
然后点击【添加】
获取【客户端密码 / client_secret】,【非常重要,注意备份】
- 客户端密码 / client_secret:PA_rfA69P4aP-j5X20D~7-G1~ozRHzL85j
接下来添加 API 权限
点击左边的【API 权限】
点击【添加权限】【Microsoft Graph】【应用程序权限】,查找
- Directory.ReadWrite.All
- User.ReadWrite.All
- RoleManagement.ReadWrite.Directory
添加好后,再点击【代表 winvps.eu 授予管理员同意】
授权成功
四 在 VPS 中添加网站
可以选择
- 宝塔面板 【https://www.bt.cn/】
- 一键 lnmp【https://lnmp.org/install.html】
我用的宝塔面板,比较方便,一键 lnmp 也不难,这儿就不细说了
域名为【第二步中解析的】,其他如下图
添加网站成功后,配置【SSL证书】和【强制HTTPS】,【这两个,不是必须】
文件下载
上传文件到【网站根目录】,并解压
五 修改配置文件
将【config.php.example】重命名为【config.php】
编辑【config.php】
<?php return [ //全局账号相关配置 'client_id'=>'修改成你的', 'tenant_id'=>'修改成你的', 'client_secret'=>'修改成你的', 'domain'=>[ '修改成你的', ], 'sku_id'=>[ [ 'title'=>'Microsoft 365 A1 学生账号', 'sku_id'=>'按照你的订阅来修改,一定要修改,不然开子号不会分配许可,请看下面', ], [ 'title'=>'Microsoft 365 A1 教师账号', 'sku_id'=>'按照你的订阅来修改,一定要修改,不然开子号不会分配许可,请看下面', ], ], //网站标题等文字 'page_config'=>[ 'title'=>'Microsoft 365 A1 自助开通', 'line1'=>'可使用 OneDrive 5T空间', ], /* 如果不需要激活码功能,以上配置足以 */ //是否开启激活码才可以注册账号 'is_invitation_code'=>true,//true为开启 false为关闭 //激活码购买地址 'invitation_code_buy_link'=>'如果有,修改成你的', //后台相关配置 'admin'=>[ 'username'=>'admin',只能字母和数字 'password'=>'winvps.eu',//自行输入密码 https://md5jiami.51240.com/,将32位小写结果填入 'invitation_code_num'=>'8',//随机生成的邀请码位数 ], //数据库配置 'db'=>[ 'host'=>'127.0.0.1', 'username'=>'用户名', 'password'=>'数据库密码', 'database'=>'数据库名称', ], ];
//订阅sku_id displayName:A1 学生版 sku_id:314c4481-f395-4525-be8b-2ec4bb1e9d91 skuName:STANDARDWOFFPACK_FACULTY displayName:A1 教师版 sku_id:94763226-9b3c-4e75-a931-5c89701abe66 skuName:OFFICE_365_A1_PLUS_FOR_STUDENT displayName:A1P 学生版 sku_id:e82ae690-a2d5-4d76-8d30-7c6e01e6022e skuName:OFFICE_365_A1_PLUS_FOR_FACULTY displayName:A1P 教师版 sku_id:78e66a63-337a-4a9a-8959-41c6654dfb56 skuName:M365EDU_A3_STUUSEBNFT_RPA1 displayName:A3 无人值守版 sku_id:1aa94593-ca12-4254-a738-81a5972958e8 skuName:Office_365_E3Y displayName:E3Y sku_id:6fd2c87f-b296-42f0-b197-1e91e994b900 skuName:DEVELOPERPACK_E5 displayName:E5 开发者订阅 sku_id:c42b9cae-ea4f-4ab7-9717-81576235ccac 具体请看:https://docs.microsoft.com/en-us/microsoftteams/sku-reference-edu
然后【保存】
最后导入数据库【invitation_code.sql】,解压文件中有的
配置完成,进入你的域名测试
后台登录地址:你的域名/admin.php
六 替换js
请将 office.html 中的原 js 地址
https://cdn.nikm.cn/js/jquery.js
替换为以下 js 地址
https://cdn.jsdelivr.net/npm/jquery/dist/jquery.js
七 我的演示站
八 再次感谢原作者
项目地址:
https://github.com/wuruiwm/msautocreate
查看评论 (11)
怎么注册
可以注册了,我昨天不小心关闭了注册功能
后台登陆不进去怎么解决呀
后台管理?什么的后台管理?
后台管理进不去啊,怎么解决
后台登录地址:你的域名/admin.php ,账号密码设置了 加密了 都登陆失败
登陆进去了,添加邀请码没反应