我正在使用MS EWS托管库来订阅和接收来自交换任何邮箱的通知。 当我尝试使用OAuth访问令牌对用户进行订阅/身份验证时,EWS库首先尝试使用以下正则表达式来验证令牌的格式:
private static readonly Regex validTokenPattern = new Regex(
@"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$",
RegexOptions.Compiled);
现在,问题在于,以下代码中的访问令牌有时无法验证此模式:
if (!validTokenPattern.IsMatch(rawToken))
{
throw new ArgumentException(Strings.InvalidOAuthToken);
}
但并非每次都失败。现在的问题是,由于这是非常敏感的信息,我什至无法为用户记录生产中的访问令牌。而且在开发环境中,我们无法重现该问题。 有人遇到过这个问题吗?
参考github中的代码: https://github.com/OfficeDev/ews-managed-api/blob/25a393dbc68b420d25999bdf0a03c23d86412f57/Credentials/OAuthCredentials.cs#L92