ADAL iOS:如何从iOS获取凭据以供以后在服务器上使用

ADAL iOS:如何从iOS获取凭据以供以后在服务器上使用,ios,adal,Ios,Adal,我正在寻找一种方法,让用户使用(多好的名称!)登录,但将凭据传递给我的后端服务器,以便我的后端服务器可以代表用户定期向Office365 API发出请求。初始认证后,iOS应用不需要直接访问Office365或其他Microsoft资源;服务器处理与Microsoft服务的所有通信 通过痛苦地挖掘示例中的.NET代码,官方批准的流程似乎是: 在同一租户下注册2个Active Directory应用程序,一个用于服务器应用程序,另一个用于本机应用程序。在客户端应用程序的“其他应用程序权限”配置中添

我正在寻找一种方法,让用户使用(多好的名称!)登录,但将凭据传递给我的后端服务器,以便我的后端服务器可以代表用户定期向Office365 API发出请求。初始认证后,iOS应用不需要直接访问Office365或其他Microsoft资源;服务器处理与Microsoft服务的所有通信

通过痛苦地挖掘示例中的.NET代码,官方批准的流程似乎是:

  • 在同一租户下注册2个Active Directory应用程序,一个用于服务器应用程序,另一个用于本机应用程序。在客户端应用程序的“其他应用程序权限”配置中添加服务器应用程序
  • 在iOS上获取用户的访问令牌,然后将其发送到服务器
  • 然后,服务器可以将本机应用程序访问令牌交换为服务器应用程序访问令牌,并随时代表用户发出请求

  • 我很想知道怎么做。我还没有找到任何关于如何将本地客户端应用程序的访问令牌交换为web应用程序的访问令牌的文档。我肯定答案就藏在某个地方,但我一直没能找到。有没有人在这个流程中有过好运?

    FYI,我们目前的解决方案是注册一个服务器应用程序,使用一个公开获取授权代码的方法(
    requestCodeByResource:
    ),然后将授权代码发送回服务器,以便在服务器上交换访问令牌。即使是在很短的时间内,这也能起作用。