【发布时间】:2015-08-18 11:16:46
【问题描述】:
目前我正在研究谷歌教室 API 以将教室集成到我的 .NET 产品中。我正在使用以下方法来验证用户。我的问题是当我执行此代码时它第一次要求身份验证但是当我接下来执行此代码时时间它直接作为以前的登录凭据登录。当我在很多天后尝试这个时,许多浏览器也直接作为第一个经过身份验证的用户登录。但是对于每次新的代码执行时间,我希望它要求对用户进行身份验证而不是直接登录作为以前的用户凭据。如何实现这一点...? 我是这个 OAuth 和 API 的新手。您的宝贵回答将对我的团队有很大帮助。
请任何人帮助我...
private ClassroomService getservice()
{
using (var stream =
new FileStream(Server.MapPath("client_secret1.json"), FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
Scopes,
"user",
CancellationToken.None).Result;
}
var service = new ClassroomService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
return service;
}
【问题讨论】:
-
第一次运行上述示例代码时,凭据存储在路径(Server.MapPath("client_secret1.json")中,因此,在第二次登录时,它只是获取凭据从这里。只需从路径中删除凭据文件或撤销令牌(developers.google.com/identity/protocols/OAuth2WebServer)
标签: google-oauth google-classroom