调用 Web API 的 Web 应用:获取应用的令牌

你已构建了客户端应用程序对象。 现在,你使用它获取令牌来调用 Web API。 在 ASP.NET 或 ASP.NET Core 中,调用 Web API 是在控制器中完成的。

  • 使用令牌缓存获取 Web API 的令牌。 若要获取此令牌,请调用 Microsoft 身份验证库 (MSAL) AcquireTokenSilent 方法(或 Microsoft.Identity.Web 中的等效方法)。
  • 调用受保护的 API,将访问令牌作为参数传递给它。

在 Python 示例中,调用 API 的代码位于 app.py 中。

该代码将尝试从令牌缓存中获取令牌。 如果无法获取令牌,则会将用户重定向到登录路由。 否则,它可以继续调用 API。

@app.route("/call_downstream_api")
def call_downstream_api():
    token = auth.get_token_for_user(app_config.SCOPE)
    if "error" in token:
        return redirect(url_for("login"))
    # Use access token to call downstream api
    api_result = requests.get(
        app_config.ENDPOINT,
        headers={'Authorization': 'Bearer ' + token['access_token']},
        timeout=30,
    ).json()
    return render_template('display.html', result=api_result)

后续步骤

转到此方案中的下一篇文章:调用 Web API