本文整理汇总了C#中OAuth2Authenticator.RequestRefreshTokenAsync方法的典型用法代码示例。如果您正苦于以下问题:C# OAuth2Authenticator.RequestRefreshTokenAsync方法的具体用法?C# OAuth2Authenticator.RequestRefreshTokenAsync怎么用?C# OAuth2Authenticator.RequestRefreshTokenAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OAuth2Authenticator
的用法示例。
在下文中一共展示了OAuth2Authenticator.RequestRefreshTokenAsync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AuthenticateRequestAsync
/// <summary>
/// Authenticates the user with the service and saves the refresh token.
/// </summary>
/// <param name="request">Http request message</param>
/// <returns></returns>
public async Task AuthenticateRequestAsync(HttpRequestMessage request)
{
authenticator = new OAuth2Authenticator(ServiceConstants.MSA_CLIENT_ID,
ServiceConstants.MSA_CLIENT_SECRET,
string.Join(",", ServiceConstants.Scopes),
new Uri(ServiceConstants.AUTHENTICATION_URL),
new Uri(ServiceConstants.RETURN_URL),
new Uri(ServiceConstants.TOKEN_URL));
var protectedData = new ProtectedData();
var accessToken = string.Empty;
var refreshToken = protectedData.Unprotect(ServiceConstants.REFRESH_TOKEN);
if (string.IsNullOrEmpty(refreshToken))
{
var result = await ShowWebView();
if (result != null)
{
// pass access_token to the onedrive sdk
accessToken = result[ServiceConstants.ACCESS_TOKEN];
// add refresh token to the password vault to enable future silent login
new ProtectedData().Protect(ServiceConstants.REFRESH_TOKEN, result[ServiceConstants.REFRESH_TOKEN]);
}
}
else
{
accessToken = await authenticator.RequestRefreshTokenAsync(refreshToken);
}
request.Headers.Authorization = new AuthenticationHeaderValue("bearer", accessToken);
}