【问题标题】:Auth0 and Xamarin How Do I Use Refresh TokensAuth0 和 Xamarin 如何使用刷新令牌
【发布时间】:2017-03-10 14:51:34
【问题描述】:

我正在使用 Xamarin.iOS 应用程序中的 Auth0。目前,我正在使用此代码对用户进行身份验证:

var user = await auth0.LoginAsync(this, "facebook", true);

我如何使用以后返回的刷新令牌。目前我必须每次都运行这段代码。我查看了有关 Auth0 的文档,但找不到任何显示如何使用刷新令牌的内容。

完整的代码如下所示:

public override void ViewDidLoad()
    {
        base.ViewDidLoad();

        LinkedInLoginButton.TouchUpInside += (sender, e) => {
            Login("linkedin", sender);
            };
        FacebookLoginButton.TouchUpInside += (sender, e) =>{
            Login("facebook", sender);
            };

    }

public async void Login(string provider, object sender)
    {
        var user = await auth0.LoginAsync(this, provider, true);
    }

【问题讨论】:

标签: ios xamarin.ios auth0


【解决方案1】:

该方法取决于 token_id 是否过期。 检查 id_token 是否过期

bool expired = auth0.HasTokenExpired();

如果登录用户的令牌未过期,则更新 id_token

var renew = await auth0.RenewIdToken(optional options);

使用登录时收到的 refresh_token 刷新 id_token

var result = await auth0.RefreshToken(refreshToken);

还有一个很好的示例: https://github.com/auth0/Xamarin.Auth0Client/blob/master/samples/Auth0Client.iOS.Sample/Auth0Client_iOS_SampleViewController.cs

【讨论】:

    猜你喜欢
    • 2017-12-28
    • 2017-05-02
    • 2019-02-25
    • 1970-01-01
    • 2022-09-28
    • 2020-07-12
    • 2017-07-01
    • 1970-01-01
    • 2021-06-12
    相关资源
    最近更新 更多