我正在修改OneDrive API。
在此处查找代码https://github.com/onedrive/onedrive-sdk-csharp
具体来说就是OneDrive Api浏览器。
我没有针对该特定主题的正式教育(身份验证)。
我想知道,第一次登录后如何保持身份验证?也就是说,在似乎每次都要查询URI以获得 token 的情况下,我将如何存储登录信息?
例如,当运行OneDrive API浏览器解决方案时,您必须在每次运行该应用程序时登录。如果我想将凭据保存在某个文本文件中,该怎么办?我该怎么做? (我知道那里的安全问题/不良做法)
我应该将 token 保存在某个地方吗?是否有其他服务可用于长期 token ?可能吗?是否涉及cookie?
最佳答案
从概念上讲,使用code flow对应用程序进行身份验证之后,您将收到一个刷新 token ,可以将其与客户端ID一起保存,并稍后使用它来按here所述检索访问 token 。
对于Windows和Windows Phone,您还可以使用Authentication Adapter for the 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);
关于c# - 通过Onedrive SDK/API(或任何API)保持身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35772215/