现在,我的公司运行一个Java应用程序,该应用程序使用IMAP和SMTP读取/发送电子邮件,而无需用户交互。我们使用的身份验证协议是基本身份验证。 Microsoft已宣布终止对基本身份验证的支持,它将由Oauth2代替。不幸的是,如果没有用户交互,他们没有为应用程序提供清晰的解决方案。 https://docs.microsoft.com/en-gb/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth
我的想法之一是让用户在第一次启动服务时仅对自己进行一次身份验证(使用Oauth2授权代码流)。然后,刷新令牌将用于获取访问令牌,而无需用户交互。非常重要的一点是,由于到期时间短或吊销,连接不会中断。如果该应用程序将无法获得新的访问令牌,那么周围将没有人可以重新进行身份验证。
我似乎找不到有关这些令牌的到期日期的任何信息(如果可以设置的话)。理想的情况是它们永不过期...
有人对此有更多了解吗?知道我的想法是否可行,这对我很有帮助。
答案 0 :(得分:0)
访问令牌可以自动刷新。但是对于我来说,更具体的提供商而言,我确实在这里找到了有关刷新令牌到期的一些信息
https://docs.microsoft.com/en-us/linkedin/shared/authentication/programmatic-refresh-tokens
根据此链接,LinkedIn令牌访问和刷新将在最多365天后过期。
此外,如果您看到此链接,则说明刷新令牌在不活动的情况下会在90天后过期,但不会说在活动状态的任何情况下它将过期。
https://docs.microsoft.com/en-us/office365/enterprise/session-timeouts
您能否提供对您尝试使用的API的引用,以便我找到有关它的更多信息(也许)