MSGraphMSALAuthProvider 0.2.0

MSGraphMSALAuthProvider 0.2.0

Microsoft Graph SDK Team 维护。



 
依赖
MSGraphClientSDK~> 1.0.0
MSAL~> 0.2
 

  • 作者
  • Microsoft Graph

Objective-C 的 MSAL 认证提供程序

此客户端库是候选版本,并且仍在预览状态 - 请继续提供反馈,因为我们继续迭代以实现受支持的库生产版本。

此库提供了 MSAuthenticationProvider 的实现,可用于启动 Microsoft Graph SDK for ObjC 的开发。

注意:此库目前仅支持 iOS 平台。MacOS 支持将在未来版本中提供。

安装

使用 CocoaPods

您可以使用 CocoaPods 来保持与最新版本的同步。在 Podfile 中包含以下行

 pod 'MSGraphMSALAuthProvider'

使用 Carthage

您也可以选择使用 Carthage 进行包管理。

  1. 使用网站下载或Homebrew工具在您的Mac上安装Carthage,方法为: brew install carthage

  2. 您必须在GitHub上为此项目创建一个Cartfile文件,并在其中列出MSGraphMSALAuthProvider库。


github "microsoftgraph/msgraph-sdk-objc-auth" "tags/<latest_release_tag>"

  1. 运行carthage update命令。这将将依赖项检索到Carthage/Checkouts文件夹中,然后构建库。

  2. 在目标应用程序的“通用”设置选项卡中,“链接的框架和库”部分,将Carthage/Build文件夹中的MSGraphMSALAuthProvider.framework拖放到此处。

  3. 在目标应用程序的“构建阶段”设置选项卡中,点击“+”图标,选择“新建Run Script阶段”。创建一个Run Script,在下面的脚本区域指定您的shell(例如:/bin/sh),并添加以下内容

/usr/local/bin/carthage copy-frameworks

并在“输入文件”下添加您要使用的框架的路径,例如


$(SRCROOT)/Carthage/Build/iOS/MSGraphMSALAuthProvider.framework

此脚本解决了由通用二进制文件触发的App Store提交错误,并确保在存档时复制必要的位码相关文件和dSYMs。

将调试信息复制到生成的产品目录后,Xcode将能够在您停止在断点时符号化堆栈跟踪。这将使您能够通过调试器逐步执行第三方代码。

当您将应用程序存档以提交给App Store或TestFlight时,Xcode还会将这些文件复制到应用程序的.xcarchive包的dSYMs子目录中。

先决条件

此库有两个依赖项,各自有不同的用途

  1. MSAL 此依赖项已添加以处理所有与认证相关的场景。

  2. MSGraphClientSDK 此依赖项已添加,以便从MSGraphClientSDK中选择MSAuthenticationProvider协议,从而使MSGraphClientSDK能与此库通信并获取所需的令牌。

因此,为了使用此库,您还必须在您的项目中添加上述两个框架。

如何使用

假设您已按照上述步骤操作,并添加了所需的框架或.pods,那么您的项目现在拥有了所需的所有内容。

因此,您现在需要遵循以下步骤

  1. 根据这里提供的说明,创建一个MSALPublicClientApplication类的实例:MSAL。请确保您遵循MSAL的readme中提到的其他步骤来正确创建此实例。它可能看起来像下面这样
NSError *error = nil;
MSALPublicClientApplication *application =
[[MSALPublicClientApplication alloc] initWithClientId:@"<your-client-id-here>"
error:&error];
  1. 创建一个实例MSALAuthenticationProviderOptions如下
MSALAuthenticationProviderOptions *authProviderOptions= [[MSALAuthenticationProviderOptions alloc] initWithScopes:<array-of-scopes-for-which-you-need-access-token>];
  1. 采用以下方式使用MSALPublicClientApplication和之前步骤中创建的MSALAuthenticationProviderOptions实例创建一个MSALAuthenticationProvider实例
 MSALAuthenticationProvider *authProvider = [[MSALAuthenticationProvider alloc] initWithPublicClientApplication:publicClientApplication andOptions:authProviderOptions];

现在您拥有了一个遵循MSAuthenticationProvider协议的实例,并配置了一个MSALPublicClientApplication实例来处理认证场景。

  1. 现在您可以使用此 authenticationProvider 与 MSGraphClientSDK 配合,向微软 Graph 服务器进行认证网络调用。请访问 如何使用 MSGraphClientSDK 了解如何使用它。

到目前为止,所有设置都已正常运行。