微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google refreshtoken 401 错误:未经授权 - android

如何解决Google refreshtoken 401 错误:未经授权 - android

我正在使用 microsoft 身份模式 oidc 客户端访问我的 android 上的 google fit 数据。登录功能按预期工作,它显示登录和同意页面并提供 accesstoken、refreshtoken 等,但是当我尝试刷新令牌时抛出 401 未经授权的错误

它只发生一次,如果我再次尝试登录,那么刷新令牌工作正常。这是 refreshtoken 调用第一次抛出 401 错误

谁能给点建议? 我看了 [this][1] 问题和。尝试在 refreshtoken 调用中传递 access_type=offline 但没有帮助。

登录

 private Oidcclient CreateOAuth()
        {
            Oidcclient result = null;
            try
            {
              

                var discovery = new discoveryPolicy
                {
                    ValidateEndpoints = false,Authority = "https://accounts.google.com",};


               

                OidcclientOptions oidcclientOptions = new OidcclientOptions
                {
                    Authority = "https://accounts.google.com",ClientId = AndroidClientId
                    Scope = " https://www.googleapis.com/auth/fitness.activity.read",RedirectUri = AndroidRedirectUrl,browser = IoCRegistry.Locate<Ibrowser>(),Flow = OidcclientOptions.AuthenticationFlow.AuthorizationCode,ResponseMode = OidcclientOptions.AuthorizeResponseMode.Redirect,Policy = new Policy
                    {
                        discovery = discovery,RequireAccesstokenHash = false 
                    }
                };

                result = new Oidcclient(oidcclientOptions);
            }
            catch (Exception ex)
            {
              
            }
            return result;
        }

登录await CreateOAuth().LoginAsync(new LoginRequest());

            var client = await CreateOAuth().RefreshTokenAsync(refreshToken,new Dictionary<string,string> { { "prompt","consent" },{ "access_type","offline" },{ "approval_prompt","force" } });

RefreshTOken(): = await CreateOAuth().RefreshTokenAsync(refreshTokennew Dictionary<string,string> { { "access_type","offline" }}); //-> 这是第一次失败(401 - 授权),然后如果您断开连接并再次登录,则此功能每次都有效。

请帮忙。 [1]:Google API refreshToken() giving error "Unauthorized client"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。