当前位置: 首页 > 知识库问答 >
问题:

iOS上针对Azure Graph API的非交互式登录(缓存凭据)

唐炜
2023-03-14

我不想在应用程序启动时要求交互式登录,也不想必须使用额外的web服务;我希望iOS应用程序可以通过REST简单地访问Azure Graph API。

我知道与缓存凭据有关的风险,但是,使用“服务帐户”进行非交互式登录是相当成熟的,访问是只读的,凭据可以在iOS钥匙链中得到保护。

我浏览了大量的Azure示例并阅读了文档,似乎提供我所需的AcquireToken(资源,凭证)的方法在iOS ADAL库中不可用(或者是ClientCredential类)。

    null

这里有解决办法吗?还是我放弃Azure广告?

共有1个答案

袁骏祥
2023-03-14

这是可以做到的,但不能使用ADALiOS框架,因为它不公开使其工作所需的client_credentials授权。

我能够使用P2/OAuth构建一个工作演示。示例应用程序在这里

构建工作解决方案的步骤是:

    null
let settings = [
        "client_id": appData.clientId!,
        "client_secret": appData.secret!,
        "authorize_uri": appData.authString!,
        "token_uri": appData.tokenString!,
        "keychain": true,
        "secret_in_body": true
        ] as OAuth2JSON

self.oauth2 = OAuth2ClientCredentials(settings: settings)
self.oauth2.doAuthorize()
 类似资料:
  • 在ubuntu目录中,/etc/profile.d允许我从软件包中配置bash(我指的是*.deb)。但它不适用于交互式非登录shell。如何向这种类型的shell添加一些东西,这将是系统范围的? 因为我需要deb包,所以我不能修改/etc/bash.bashrc(或者我能以某种方式修改吗?)

  • Git 自带的一些脚本可以使在命令行下工作更容易。 本节的几个互交命令可以帮助你将文件的特定部分组合成提交。 当你修改一组文件后,希望这些改动能放到若干提交而不是混杂在一起成为一个提交时,这几个工具会非常有用。 通过这种方式,可以确保提交是逻辑上独立的变更集,同时也会使其他开发者在与你工作时很容易地审核。 如果运行 git add 时使用 -i 或者 --interactive 选项,Git 将会

  • 我想使用YouTubeAPI将视频上传到非交互式程序中的公司帐户。我试图在不提示身份验证和授权的情况下实现上传(因为没有交互式用户)。如果有人能验证以下断言,我将不胜感激: > 无法使用Simple API Access上传视频。 对于OAuth,不可能使用“使用服务帐户代表应用程序而不是最终用户调用Google API”。这将是我想要的解决方案。这是我尝试使用的代码。它执行,但始终返回为“未经授

  • 目前,我正在使用Spring缓存和/注释。 我想得到某种控制台日志语句,如

  • 原文:Interactive navigation 所有图形窗口都带有导航工具栏,可用于浏览数据集。 以下是工具栏底部的每个按钮的说明: Home(首页)、Forward(前进)和Back(后退)按钮: 这些类似于 Web 浏览器的前进和后退按钮。 它们用于在之前定义的视图之间来回浏览。 它们没有意义,除非你已经使用平移和缩放按钮访问了其他地方。 这类似于尝试在访问新页面之前单击 Web 浏览器上

  • 我想在一个非交互式脚本中安装JRE1.7。有没有一种方法可以做到这一点,相当于下面的方法?