使用 Onedrive SDK/API(或任何 API)保持身份验证

本文关键字:API 身份验证 任何 Onedrive SDK 使用 | 更新日期: 2023-09-27 18:37:22

我正在修补OneDrive API。

在此处查找代码 https://github.com/onedrive/onedrive-sdk-csharp

具体来说就是OneDrive Api浏览器。

我没有接受过关于这个特定主题(身份验证)的正规教育。

我想知道,首次登录后我将如何保持身份验证?也就是说,当您似乎每次都期望向 URI 查询令牌时,我将如何存储登录信息?

例如,当运行 OneDrive API 浏览器解决方案时,每次运行应用时都必须登录。如果我想将凭据保存在某个地方,例如在文本文件中,该怎么办?我该怎么做?(我知道那里的安全问题/不良做法)

我应该将令牌保存在某个地方吗?是否有其他服务可用于长期代币?甚至可能吗?是否涉及饼干?

使用 Onedrive SDK/API(或任何 API)保持身份验证

从概念上讲,使用代码流对应用进行身份验证后,你将收到一个刷新令牌,该令牌可以与客户端 ID 一起保存,并在以后使用它来检索访问令牌,如此处所述。对于 Windows 和 Windows Phone,您还可以使用 OneDrive SDK 的身份验证适配器来完成所有工作:

MsaAuthenticationProvider msaAuthProvider = new MsaAuthenticationProvider(
                            MsaClientId,
                            MsaClientSecret,
                            RedirectUri,
                            Scopes,
                            null,
                            new CredentialVault(MsaClientId));
        await msaAuthProvider.RestoreMostRecentFromCacheOrAuthenticateUserAsync(userName);
        OneDriveClient oneDriveClient = new OneDriveClient("https://api.onedrive.com/v1.0", msaAuthProvider);