2012-12-26 66 views
5

我注意到在asp.net 4.5模板中,除谷歌之外的所有授權樣本都通過祕密和clientid。我怎麼能通過我的谷歌祕密和clientid?布洛克在這裏有一個很好的討論,我已經遵守了:使用asp.net 4.5 OAuth註冊谷歌與clientid和祕密

http://info.develop.com/blogs/bid/232864/ASP-NET-Using-OAuthWebSecurity-without-SimpleMembership#.UNuBh2_Adv9

的示例代碼如下自帶的模板。

internal static class AuthConfig 
{ 
    public static void RegisterOpenAuth() 
    { 
     // See http://go.microsoft.com/fwlink/?LinkId=252803 for details on setting up this ASP.NET 
     // application to support logging in via external services. 

     //OpenAuth.AuthenticationClients.AddTwitter(
     // consumerKey: "your Twitter consumer key", 
     // consumerSecret: "your Twitter consumer secret"); 

     //OpenAuth.AuthenticationClients.AddFacebook(
     // appId: "your Facebook app id", 
     // appSecret: "your Facebook app secret"); 

     //OpenAuth.AuthenticationClients.AddMicrosoft(
     // clientId: "your Microsoft account client id", 
     // clientSecret: "your Microsoft account client secret"); 

     // OpenAuth.AuthenticationClients.AddGoogle(); 
    } 
} 
+0

爲什麼你想傳遞的應用程序ID和祕密?它會讓你的用戶進行身份驗證,並讓你在沒有它的情況下獲得數據。 –

+0

喂傑德,我需要appId和祕密,所以我可以存儲令牌並將令牌傳遞給客戶端應用程序以用於身份驗證。 –

+0

此外,我需要令牌來驗證我的IMAP客戶端與谷歌。這是我在這裏使用OAuth的主要目標。 –

回答

4

我看看OAuthWebSecurity類的source code

原因谷歌的認證客戶端不需要一個AppID/AppSecret是因爲它的實現是利用OpenIdOAuth

如果你想在Google上使用OAuth,你必須編寫自己的客戶端(至少現在是這樣)。