/// <summary>
        /// Creates an OAuthAuthenticationProvider using ACS authentication.
        /// </summary>
        /// <param name="siteUrl">Site collection URL</param>
        /// <param name="options">Options object for the TokenHelper class</param>
        /// <returns>OAuthAuthenticationProvider that creates Tokens for ACS authentication</returns>
        public ACSTokenGenerator(Uri siteUrl, TokenHelperOptions options)
        {
            if (siteUrl == null)
            {
                new ArgumentNullException(nameof(siteUrl));
            }
            if (options == null)
            {
                new ArgumentNullException(nameof(options));
            }

            // realm is optional, determine it if not supplied
            if (string.IsNullOrEmpty(options.Realm))
            {
                options.Realm = TokenHelper.GetRealmFromTargetUrl(siteUrl);
            }

            this.tokenHelper = new TokenHelper(options);
        }
 public TokenHelper(TokenHelperOptions options)
 {
     this.Options = (TokenHelperOptions)options.Clone();
 }