你在正确的轨道上这样做。您需要执行以下步骤:
- 在您的 AD 中,您需要为您的 Web 应用程序创建一个“应用程序”(我认为您已经这样做了)
- 在应用程序的“配置”选项卡上,您必须将应用程序权限分配给 Windows Azure Active Directory 预先存在的应用程序,在您的情况下,您的应用程序可能需要完整
Directory.ReadWrite.All
权限,这在Azure 门户
- 为您的应用程序创建一个新密钥(如果您还没有)
另请参阅:https ://msdn.microsoft.com/Library/Azure/Ad/Graph/howto/azure-ad-graph-api-permission-scopes
现在,您已设置为使用 Graph API 执行客户端凭据流,以便访问 Azure AD REST API: 执行POST
以下端点:
https://login.microsoftonline.com/(your AD tenant ID)/oauth2/token
Content-Type: x-www-form-urlencoded
grant_type=client_credentials
&client_id=(your webapp client id)
&client_secret=(the key you just created)
&resource=https://graph.windows.net
这个请求将(希望)给你一个访问令牌,使你能够与 Graph API 对话。
我敢打赌,你也可以使用 ADAL 或类似的 SDK 来做到这一点,但这是在后台发生的。
使用访问令牌作为Authorization
标头内容,您现在可以按照文档 ( https://msdn.microsoft.com/en-us/library/azure/ad/graph/howto/azure-ad- ) 中的说明访问 Graph API graph-api-operations-overview),例如这样:
GET https://graph.windows.net/(your AD domain)/users?api-version=1.5 HTTP/1.1
Authorization: eyJ0eXAiOiJKV1QiL...
这将返回如下响应:
200 OK
{
"odata.metadata": "https://graph.windows.net/(your domain ID)/$metadata#directoryObjects/Microsoft.DirectoryServices.User",
"value": [
{
"odata.type": "Microsoft.DirectoryServices.User",
"objectType": "User",
"objectId": "(some GUID)",
"deletionTimestamp": null,
"accountEnabled": true,
....
发布到/users?api-version=1.5
端点将为您创建用户。