【问题标题】:Use DotNetOpenAuth to authenticate for Google Drive SDK使用 DotNetOpenAuth 对 Google Drive SDK 进行身份验证
【发布时间】:2013-10-12 09:49:33
【问题描述】:

我使用 ASP.NET 简单成员数据库和 DotNetOpenOAuth 登录到我的 ASP.NET MVC 应用程序。我想使用相同的身份验证凭据来进行身份验证以使用 Google Drive 应用程序。即,我可以使用 AuthenticationResult 对象详细信息来构建 IAuthenticator 对象以在我的 Google Drive 应用程序中进行身份验证吗?

我的目标是使用已经登录的 Google 用户稍后授权使用我的 Google Drive 应用程序,而不是再次要求他/她提供凭据。

【问题讨论】:

    标签: asp.net-mvc google-drive-api dotnetopenauth


    【解决方案1】:

    为了获得云端硬盘后端的授权和身份验证,您需要检索并保留和访问令牌,以将其附加到您发出的每个请求中。已实现身份验证层的系统的典型流程是:

    • 验证用户身份
    • 按照 [1] 中说明的身份验证步骤将您的用户连接到 Google Drive 帐户。
    • 保留访问令牌,为用户刷新令牌。
    • 使用他/她的访问令牌验证您代表用户发出的每个请求。

    [1]https://developers.google.com/drive/about-auth

    【讨论】:

    • 这对我来说很清楚。但是,我想将内置的 OAuth 身份验证用于我的应用程序的成员资格,然后使用相同的身份验证详细信息,例如用于授权 Google Drive 应用程序的电子邮件。也就是说,在 AccountController 的 ExternalLoginCallBack 方法中,身份验证是通过以下代码行 AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl })); 完成的,然后我调用 IAuthenticator authenticator = Utils.GetCredentials(null, null); 来初始化 Drive App 授权
    • 我的问题是如何使用Utils.GetCredentials 方法来利用之前通过AuthenticationResult 提供的身份验证详细信息。
    猜你喜欢
    • 1970-01-01
    • 2020-01-24
    • 2011-06-25
    • 2020-10-29
    • 2017-03-11
    • 2015-10-04
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    相关资源
    最近更新 更多