internal void AuthenticateUser(AuthenticationMode authMode = AuthenticationMode.Authorize, TokenValidationPolicy tokenValidationPolicy = TokenValidationPolicy.EveryLogin, AuthValidationMode authValidationMode = AuthValidationMode.Graceful, string email = null, string appSecret = null) { if (AuthenticationMode.Identify.Equals(authMode) && String.IsNullOrEmpty(appSecret)) { throw new Exception("Internal error: AppSecret must be provided when Identify function is used"); //ResourceManager.Current.MainResourceMap } bool needsLogin = TokenValidationPolicy.EveryLogin.Equals(tokenValidationPolicy); if (!needsLogin && TokenValidationPolicy.OnNewVersion.Equals(tokenValidationPolicy)) { string lastAuthorizedVersion = HockeyClient.Current.AsInternal().PlatformHelper.GetSettingValue(ConstantsUniversal.AuthLastAuthorizedVersionKey); needsLogin = (lastAuthorizedVersion == null) || (new Version(lastAuthorizedVersion) < new Version(HockeyClient.Current.AsInternal().VersionInfo)); } if (needsLogin) { this.ShowLoginScreen(authMode, appSecret, email, authValidationMode); } else { this.ExecuteSuccessRedirectOrAction(); } }
internal void AuthenticateUser(Uri successRedirect, AuthenticationMode authMode = AuthenticationMode.Authorize, TokenValidationPolicy tokenValidationPolicy = TokenValidationPolicy.EveryLogin, AuthValidationMode authValidationMode = AuthValidationMode.Graceful, string email = null, string appSecret = null) { if (AuthenticationMode.Identify.Equals(authMode) && String.IsNullOrEmpty(appSecret)) { throw new ApplicationException(LocalizedStrings.LocalizedResources.Authentication_AppSecretMissing); } this.SuccessRedirect = successRedirect; bool needsLogin = TokenValidationPolicy.EveryLogin.Equals(tokenValidationPolicy); if (!needsLogin && TokenValidationPolicy.OnNewVersion.Equals(tokenValidationPolicy)) { string lastAuthorizedVersion = IsolatedStorageSettings.ApplicationSettings.GetValue(Constants.AuthLastAuthorizedVersionKey) as String; needsLogin = (lastAuthorizedVersion == null) || (new Version(lastAuthorizedVersion) < new Version(ManifestHelper.GetAppVersion())); } if (needsLogin) { ((PhoneApplicationFrame)Application.Current.RootVisual).Navigate(new Uri("/HockeyApp;component/Views/LoginPage.xaml?authmode=" + HttpUtility.UrlEncode(authMode.ToString()) + "&appsecret=" + HttpUtility.UrlEncode(appSecret) + "&email=" + HttpUtility.UrlEncode(email ?? "") + "&validationmode=" + HttpUtility.UrlEncode(authValidationMode.ToString() ?? ""), UriKind.Relative)); } else { ((PhoneApplicationFrame)Application.Current.RootVisual).Navigate(successRedirect); } }
public JweWrapper(byte[] token, KeyManagementAlgorithm keyManagementAlgorithm, EncryptionAlgorithm encryptionAlgorithm, TokenValidationPolicy policy) { _token = token; _keyManagementAlgorithm = keyManagementAlgorithm; _encryptionAlgorithm = encryptionAlgorithm; Policy = policy; }
private Jwt?TryParse(byte[] data, TokenValidationPolicy policy) { if (!Jwt.TryParse(data, policy, out var document)) { throw new System.Exception(); } document.Dispose(); return(document); }
/// <summary> /// Identify user with hockeaypp auth. Opening a login page to require valid email address for app if needed /// </summary> /// <param name="this"></param> /// <param name="appSecret">Your app's app secret (see HockeyApp app page)</param> /// <param name="successRedirect">Page-URI to redirect to after successful login</param> /// <param name="navigationService">[optional] obsolete - not needed</param> /// <param name="eMail">[Optional] initial email</param> /// <param name="tokenValidationPolicy"><see cref="TokenValidationPolicy"/></param> /// <param name="authValidationMode"><see cref="AuthValidationMode"/></param> public static void IdentifyUser(this IHockeyClient @this, string appSecret, Uri successRedirect, NavigationService navigationService = null, string eMail = null, TokenValidationPolicy tokenValidationPolicy = TokenValidationPolicy.EveryLogin, AuthValidationMode authValidationMode = AuthValidationMode.Graceful) { @this.AsInternal().CheckForInitialization(); AuthManager.Instance.AuthenticateUser(successRedirect, AuthenticationMode.Identify, tokenValidationPolicy, authValidationMode, eMail, appSecret); }
/// <summary> /// Inititate user identification and define a action to perform when authorization is successfull /// </summary> /// <param name="this">The this.</param> /// <param name="appSecret">The application secret from HockeyApp.</param> /// <param name="successAction">Action to perform when login is successfull</param> /// <param name="eMail">[Optional] E-Mail adress to prefill form</param> /// <param name="tokenValidationPolicy">[Optional] Default is EveryLogin</param> /// <param name="authValidationMode">[Optional] Default is Graceful</param> public static void IdentifyUser(this IHockeyClient @this, string appSecret, Action successAction, string eMail = null, TokenValidationPolicy tokenValidationPolicy = TokenValidationPolicy.EveryLogin, AuthValidationMode authValidationMode = AuthValidationMode.Graceful) { @this.AsInternal().CheckForInitialization(); var authMan = AuthManager.Current; authMan.SuccessAction = successAction; authMan.AuthenticateUser(AuthenticationMode.Identify, tokenValidationPolicy, authValidationMode, eMail, appSecret); }
/// <summary> /// Inititate user authorization and define a page navigate to when authorization is successfull /// </summary> /// <param name="this"></param> /// <param name="pageTypeForSuccessRedirect">Pagetype to navigate when login is successfull</param> /// <param name="eMail">[Optional] E-Mail adress to prefill form</param> /// <param name="tokenValidationPolicy">[Optional] Default is EveryLogin</param> /// <param name="authValidationMode">[Optional] Default is Graceful</param> public static void AuthorizeUser(this IHockeyClient @this, Type pageTypeForSuccessRedirect, string eMail = null, TokenValidationPolicy tokenValidationPolicy = TokenValidationPolicy.EveryLogin, AuthValidationMode authValidationMode = AuthValidationMode.Graceful) { @this.AsInternal().CheckForInitialization(); var authMan = AuthManager.Current; authMan.SuccessRedirectPageType = pageTypeForSuccessRedirect; AuthManager.Current.AuthenticateUser(AuthenticationMode.Authorize, tokenValidationPolicy, authValidationMode, eMail, null); }
protected bool JwtCore(byte[] token, TokenValidationPolicy policy, out Jwt jwt) { return(Jwt.TryParse(token, policy, out jwt)); }
public JwsWrapper(byte[] token, SignatureAlgorithm algorithm, TokenValidationPolicy policy) { _token = token; _algorithm = algorithm; Policy = policy; }
protected TokenValidationResult JwtCore(byte[] token, TokenValidationPolicy policy) { return(Reader.TryReadToken(token, policy)); }
internal void AuthenticateUser(AuthenticationMode authMode = AuthenticationMode.Authorize, TokenValidationPolicy tokenValidationPolicy = TokenValidationPolicy.EveryLogin, AuthValidationMode authValidationMode = AuthValidationMode.Graceful, string email = null, string appSecret = null) { if (AuthenticationMode.Identify.Equals(authMode) && String.IsNullOrEmpty(appSecret)) { throw new Exception("Internal error: AppSecret must be provided when Identify function is used"); //ResourceManager.Current.MainResourceMap } bool needsLogin = TokenValidationPolicy.EveryLogin.Equals(tokenValidationPolicy); if(!needsLogin && TokenValidationPolicy.OnNewVersion.Equals(tokenValidationPolicy)) { string lastAuthorizedVersion = HockeyClient.Current.AsInternal().PlatformHelper.GetSettingValue(ConstantsUniversal.AuthLastAuthorizedVersionKey); needsLogin = (lastAuthorizedVersion == null) || (new Version(lastAuthorizedVersion) < new Version(HockeyClient.Current.AsInternal().VersionInfo)); } if (needsLogin) { this.ShowLoginScreen(authMode, appSecret, email, authValidationMode); } else { this.ExecuteSuccessRedirectOrAction(); } }
public Jwt?TryParseJwe(byte[] data, TokenValidationPolicy policy) { return(TryParse(data, policy)); }