当前位置: 首页 > 知识库问答 >
问题:

.NET的Glass快速启动和刷新令牌

冷越泽
2023-03-14

我正在使用.NET的MirrorQuickStart项目,遇到了刷新令牌的问题。据我所知,当“notify”操作用于时间线订阅更新时,它不会被使用。

将应用程序发布到开发服务器上,除了更新适当的ID和配置信息之外,基本上是原样的,“Notify”操作在第一个小时内工作,但之后,它停止响应,直到我刷新web页面并重新进行身份验证。

我检查了数据库服务器上的StoredCredentials表,并填充了UserId、AccessToken和RefreshToken值。我还在标准应用程序流中创建了一个新的镜像服务(因为我不确定如何调试notify流并查看出现的任何实际错误消息),每次都在服务上看到AccessToken和RefreshToken。

MirrorService service = new MirrorService(new BaseClientService.Initializer
{
     Authenticator = Utils.GetAuthenticatorFromState(
             Utils.GetStoredCredentials(userId))
});

我已经查看了Drive的DrEdit项目,就GetAuthenticatorFromStateGetStoredCredentials方法而言,流程似乎基本相同。

这个问题似乎与我遇到的问题最直接相关,但就镜像项目而言,答案没有意义。

如何通过。NET中的Google Drive SDK使用刷新令牌生成访问令牌?

我一定遗漏了一些简单的东西--只是不确定,因为我对OAuth流相当陌生。

共有1个答案

鲁单弓
2023-03-14

从链接到的另一个SO答案来看,这似乎解决了model/utils.cs中的问题:

        /// <summary>
        /// Returns the IAuthorizationState stored in the StoredStateClient instance.
        /// </summary>
        /// <param name="provider">OAuth2 client.</param>
        /// <returns>The stored authorization state.</returns>
        static public IAuthorizationState GetState(StoredStateClient provider)
        {
            provider.RefreshToken(provider.State);
            return provider.State;
        }

注意添加的行:provider.refreshToken(provider.state)。仍然不清楚为什么需要调用refreshtoken,因为这应该由库自动完成...

 类似资料:
  • 问题内容: 我有我的.. 我加入的一个。当页面内容为屏幕时,它起作用。但是当我没有收到太多数据并且不是时,就会出现问题,该功能无法正常工作。:( 我没有使用。 有人可以帮我解决这个问题吗? 问题答案: var alwaysBounceVertical:Bool //默认为NO。如果是,并且反弹为是,即使内容小于界限,也允许垂直拖动

  • 我遵循了文档页面中的快速启动,使用IdentityServer进行身份验证,对三个服务(IdentityServer、一个Api服务、一个ASPNET MVC应用程序)进行了有效配置。 一切工作都很完美(登录、登录、授权等),直到access_token过期1小时后。此时,MVC应用程序开始从应用编程接口服务接收(正确地)401(因为令牌过期了)。那时,我知道我应该使用refresh_token来

  • Swoole的绝大部分功能只能用于cli命令行环境,请首先准备好Linux Shell环境。可使用vim、emacs、phpstorm或其他编辑器编写代码,并在命令行中通过下列指令执行程序。 php /path/to/your_file.php 成功执行Swoole服务器程序后,如果你的代码中没有任何echo语句,屏幕不会有任何输出,但实际上底层已经在监听网络端口,等待客户端发起连接。可使用相应的

  • 我试图理解谷歌GCM快速入门示例背后的代码。具体来说,我不明白代码是如何检查注册是否已经完成的。 主要活动: 注册意向服务: 在中,注释说最初调用是为了检索令牌,但随后的调用是本地的。这是否意味着它会简单地检查应用程序是否已经拥有令牌,不再进行调用?我真的不明白这部分,我在这个示例代码中没有看到它检查令牌存在的任何地方。

  • Dubbo 采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置即可,Dubbo 基于 Spring 的 Schema 扩展 进行加载。 如果不想使用 Spring 配置,可以通过 API 的方式 进行调用。 服务提供者 完整安装步骤,请参见:示例提供者安装 定义服务接口 DemoService.java 1: package

  • 仅需几行代码就可以为UITableView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看下面的“使用方法”。 作者说:网上开源的下拉-上拉刷新控件,普遍封装得过于复杂、耦合性强。因此本人特地花了点时间写了一套无耦合、可插拔式的刷新控件,对项目中的其他代码毫无侵入性,而且使用简单,3行代码就能集成刷新控件。 [Code4App.com]