11using System ;
2+ using System . Threading . Tasks ;
23using Xero . Api . Infrastructure . Authenticators ;
34using Xero . Api . Infrastructure . Exceptions ;
45using Xero . Api . Infrastructure . Interfaces ;
@@ -9,14 +10,14 @@ namespace Xero.Api.Example.MVC.Authenticators
910 public class PublicMvcAuthenticator : PublicAuthenticatorBase , IMvcAuthenticator
1011 {
1112 private readonly IConsumer _consumer ;
12- private readonly ITokenStore _requestTokenStore ;
13+ private readonly ITokenStoreAsync _requestTokenStore ;
1314
14- public PublicMvcAuthenticator ( ITokenStore requestTokenStore , ITokenStore accessTokenStore )
15+ public PublicMvcAuthenticator ( ITokenStoreAsync requestTokenStore , ITokenStoreAsync accessTokenStore )
1516 : this ( requestTokenStore , accessTokenStore , new XeroApiSettings ( ) )
1617 {
1718 }
1819
19- public PublicMvcAuthenticator ( ITokenStore requestTokenStore , ITokenStore accessTokenStore , IXeroApiSettings xeroApiSettings )
20+ public PublicMvcAuthenticator ( ITokenStoreAsync requestTokenStore , ITokenStoreAsync accessTokenStore , IXeroApiSettings xeroApiSettings )
2021 : base ( accessTokenStore , xeroApiSettings )
2122 {
2223 _consumer = new Consumer ( ApplicationSettings . ConsumerKey , ApplicationSettings . ConsumerSecret ) ;
@@ -28,51 +29,51 @@ protected override string AuthorizeUser(IToken token, string scope = null, bool
2829 throw new NotSupportedException ( ) ;
2930 }
3031
31- protected override IToken RenewToken ( IToken sessionToken , IConsumer consumer )
32+ protected override Task < IToken > RenewTokenAsync ( IToken sessionToken , IConsumer consumer )
3233 {
3334 throw new RenewTokenException ( ) ;
3435 }
3536
36- public string GetRequestTokenAuthorizeUrl ( string userId )
37+ public async Task < string > GetRequestTokenAuthorizeUrlAsync ( string userId )
3738 {
38- var requestToken = GetRequestToken ( _consumer ) ;
39+ var requestToken = await GetRequestTokenAsync ( _consumer ) ;
3940 requestToken . UserId = userId ;
4041
41- var existingToken = _requestTokenStore . Find ( userId ) ;
42+ var existingToken = await _requestTokenStore . FindAsync ( userId ) ;
4243 if ( existingToken != null )
43- _requestTokenStore . Delete ( requestToken ) ;
44+ await _requestTokenStore . DeleteAsync ( requestToken ) ;
4445
45- _requestTokenStore . Add ( requestToken ) ;
46+ await _requestTokenStore . AddAsync ( requestToken ) ;
4647
4748 return GetAuthorizeUrl ( requestToken ) ;
4849 }
4950
50- public IToken RetrieveAndStoreAccessToken ( string userId , string tokenKey , string verfier )
51+ public async Task < IToken > RetrieveAndStoreAccessTokenAsync ( string userId , string tokenKey , string verifier )
5152 {
52- var existingAccessToken = Store . Find ( userId ) ;
53+ var existingAccessToken = await Store . FindAsync ( userId ) ;
5354 if ( existingAccessToken != null )
5455 {
5556 if ( ! existingAccessToken . HasExpired )
5657 return existingAccessToken ;
5758 else
58- Store . Delete ( existingAccessToken ) ;
59+ await Store . DeleteAsync ( existingAccessToken ) ;
5960 }
6061
61- var requestToken = _requestTokenStore . Find ( userId ) ;
62+ var requestToken = await _requestTokenStore . FindAsync ( userId ) ;
6263 if ( requestToken == null )
6364 throw new ApplicationException ( "Failed to look up request token for user" ) ;
6465
65- //Delete the request token from the _requestTokenStore as the next few lines will render it useless for the future.
66- _requestTokenStore . Delete ( requestToken ) ;
66+ //Delete the request token from the _requestTokenStore as the next few lines will render it useless for the future.
67+ await _requestTokenStore . DeleteAsync ( requestToken ) ;
6768
6869 if ( requestToken . TokenKey != tokenKey )
6970 throw new ApplicationException ( "Request token key does not match" ) ;
7071
71- var accessToken = Tokens . GetAccessTokenAsync ( requestToken , GetAuthorization ( requestToken , "POST" , Tokens . AccessTokenEndpoint , null , verfier ) ) . Result ;
72+ var accessToken = await Tokens . GetAccessTokenAsync ( requestToken , GetAuthorization ( requestToken , "POST" , Tokens . AccessTokenEndpoint , null , verifier ) ) ;
7273
7374 accessToken . UserId = userId ;
7475
75- Store . Add ( accessToken ) ;
76+ await Store . AddAsync ( accessToken ) ;
7677
7778 return accessToken ;
7879 }
0 commit comments