Azure 使用另一个访问令牌获取msgraph访问令牌

Azure 使用另一个访问令牌获取msgraph访问令牌,azure,azure-active-directory,azure-ad-graph-api,Azure,Azure Active Directory,Azure Ad Graph Api,我创建了一个Azure应用程序,通过Expose API屏幕为其创建了自定义范围。我有一个单页应用程序,它使用代码流登录请求这些自定义范围的应用程序。在我的ASP.NET核心web应用程序中,我添加了身份验证层,以使用JWT作为承载。工作非常好,我可以像预期的那样保护我的web API 现在,我还为msgraph添加了API权限,因为我希望能够使用它创建在线会议。流程将是: 用户使用我的自定义范围访问群体登录 他向一个安全的web api发送一个调用来创建一些东西 数据库中添加了一些内容 将代表

我创建了一个Azure应用程序,通过Expose API屏幕为其创建了自定义范围。我有一个单页应用程序,它使用代码流登录请求这些自定义范围的应用程序。在我的ASP.NET核心web应用程序中,我添加了身份验证层,以使用JWT作为承载。工作非常好,我可以像预期的那样保护我的web API

现在,我还为msgraph添加了API权限,因为我希望能够使用它创建在线会议。流程将是:

用户使用我的自定义范围访问群体登录 他向一个安全的web api发送一个调用来创建一些东西 数据库中添加了一些内容 将代表用户创建联机会议 问题是我的web API接收到的访问令牌对msgraph无效,我需要代表与访问令牌相关的用户获取一个。但是,我不知道如何使用另一个访问令牌获取msgraph令牌。我甚至不知道这是否可能

但是,如果不可能,我应该如何从我的应用程序的.NET核心部分创建在线会议?

看看,特别是示例。您可以使用现有的访问令牌作为断言参数

以下HTTP POST请求web API的user.read作用域的访问令牌和刷新令牌


工作起来很有魅力。我希望这样做没有客户端的秘密,但因为我做的是服务器端,这是一个可以接受的解决方案。
//line breaks for legibility only

POST /oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
&client_id=2846f71b-a7a4-4987-bab3-760035b2f389
&client_secret=BYyVnAt56JpLwUcyo47XODd
&assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InowMzl6ZHNGdWl6cEJmQlZLMVRuMjVRSFlPMCJ9.eyJhdWQiOiIyODQ2ZjcxYi1hN2E0LTQ5ODctYmFiMy03NjAwMzViMmYzODkiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3YyLjAiLCJpYXQiOjE0OTM5MjA5MTYsIm5iZiI6MTQ5MzkyMDkxNiwiZXhwIjoxNDkzOTI0ODE2LCJhaW8iOiJBU1FBMi84REFBQUFnZm8vNk9CR0NaaFV2NjJ6MFFYSEZKR0VVYUIwRUlIV3NhcGducndMMnVrPSIsIm5hbWUiOiJOYXZ5YSBDYW51bWFsbGEiLCJvaWQiOiJkNWU5NzljNy0zZDJkLTQyYWYtOGYzMC03MjdkZDRjMmQzODMiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJuYWNhbnVtYUBtaWNyb3NvZnQuY29tIiwic3ViIjoiZ1Q5a1FMN2hXRUpUUGg1OWJlX1l5dVZNRDFOTEdiREJFWFRhbEQzU3FZYyIsInRpZCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsInV0aSI6IjN5U3F4UHJweUVPd0ZsTWFFMU1PQUEiLCJ2ZXIiOiIyLjAifQ.TPPJSvpNCSCyUeIiKQoLMixN1-M-Y5U0QxtxVkpepjyoWNG0i49YFAJC6ADdCs5nJXr6f-ozIRuaiPzy29yRUOdSz_8KqG42luCyC1c951HyeDgqUJSz91Ku150D9kP5B9-2R-jgCerD_VVuxXUdkuPFEl3VEADC_1qkGBiIg0AyLLbz7DTMp5DvmbC09DhrQQiouHQGFSk2TPmksqHm3-b3RgeNM1rJmpLThis2ZWBEIPx662pjxL6NJDmV08cPVIcGX4KkFo54Z3rfwiYg4YssiUc4w-w3NJUBQhnzfTl4_Mtq2d7cVlul9uDzras091vFy32tWkrpa970UvdVfQ
&scope=https://graph.microsoft.com/user.read+offline_access
&requested_token_use=on_behalf_of