這比我們想象的要困難得多,而且我認爲,事情變化的速度有多快,保持文檔更新的困難,以及與搜索引擎很容易提供瀏覽次數最高的信息,在這種情況下,這些信息已經過時並且不再適用,並且不再有效。
就布魯斯的回答,我試了一下。首先,我的移動應用似乎已自動遷移到Azure中的應用服務。其次,Microsoft Graph實現將進行身份驗證,但創建斷開連接,因爲身份驗證過程返回的信息與我用於唯一標識用戶的Live SDK返回的信息不匹配。因此,使用Graph實現將我的用戶從他們要求我爲他們存儲的所有數據中斷開。第三,第二段(儘管是在6個月前編寫的)中鏈接的文章已過時,使用諸如「經典」Azure門戶等過時的工具,並假設您創建了一個新應用程序,從而允許模板做得很好交易的配置和我需要的。
儘管如此,我真的很感謝Bruce的努力。
去年,我使用OneDrive SDK在UWP應用程序中實施了auth。我在新應用程序中遇到了兩個問題:
- 去年使用的版本是舊版本(1.15版本2.0.6)...正如絕大多數有關使用我可以在互聯網上找到的SDK。一切似乎都是關於不再存在的OneDriveClientExtensions類。但我並不特別想要卡住2015年的版本,永遠無法升級。由於最新版本已經6個月大了,無論如何我都有點害怕。
- 爲了驗證目的,最新版本還需要安裝Microsoft.OneDriveSDK.Authentication軟件包。這是最近5個月前更新的版本,但依賴於版本爲3.13的Microsoft.IdentityModel.Clients.ActiveDirectory v2(雖然看起來v2仍在使用中)。這成爲一個真正的痛苦之處在於UWP社區工具包服務庫需要同一個軟件包的v3版本,因此您不能同時在同一個項目中安裝Toolkit Services和OneDriveSDK身份驗證軟件包。幸運的是,由於我無法讓UWP服務庫做我想做的事,所以我並不需要它。
所以,我從溶液中取出UWP服務包並安裝了最新的OneDrive SDK包,在互聯網翻遍尋找如何使用那個版本,我終於找到了這樣的例子:
var scopes = new string[] { "wl.signin" };
var client = new OnlineIdAuthenticationProvider(scopes);
await client.AuthenticateUserAsync();
然後,您可以訪問客戶端的CurrentAccountSession屬性以獲取UserId。
現在,我確定這是一個臨時解決方案,因爲最終,OneDrive SDK將會過時,我需要使用一些依賴於ActiveDirectory包的v3的庫,但在此之前,這會起作用。