繁体   English   中英

如何在Outlook插件中保存登录令牌

[英]How can I save Login Token in outlook Addin

我正在编写C#Outlook插件。 此加载项应将一些信息从电子邮件项目传递到Web服务。 即时通讯登录到Web服务后,我得到了一些LoginTokens。 我的问题是我可以在哪里保存此登录信息,这样就不必在每次重新打开Outlook时都再次登录? 我的令牌有效期为30天,因此我不需要每次重新打开Outlook新令牌。

public interface ILoginHandler
{
    string LoginToken { get; set; }
    string LoginSessionToken { get; set; }

    void RequeryCredentials();

    bool LastAuthorizationOk { get; set; }
    bool IsPasswordChangeRequired { get; set; }

    string TwoFactorAuthSessionToken { get; set; }
    bool RememberLogin { get; set; }
    void RequestTwoFactorAuthCode(TwoFactorAuthenticationType type);

    void AfterSuccessfulTwoFactorAuth(LoginReturn.LoginReturnCode loginReturnCode, bool autoLoginSet);

    void ClearTokenAndLogin();
    void PromptPasswordChange();
}

Outlook对象模型为此提供了StorageItem对象。 创建数据并将其保存到解决方案存储一文中了解有关此内容的更多信息。

Sub StoreData()
  Dim oInbox As Folder
  Dim myStorage As StorageItem
  Dim myPrivateProperty As UserProperty

  Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox)
  ' Get an existing instance of StorageItem by subject, or create new if it doesn't exist
  Set myStorage = oInbox.GetStorage("My Private Storage", olIdentifyBySubject)

  If myStorage.Size = 0 Then
    'There was no existing StorageItem by this subject, so created a new one
    'Create a custom property for Order Number
    Set myPrivateProperty = myStorage.UserProperties.Add("Order Number", olNumber)
  Else
    'Assume that existing storage has the Order Number property already
    Set myPrivateProperty = myStorage.UserProperties("Order Number")
  End If
  myPrivateProperty.Value = lngOrderNumber
  myStorage.Save   
End Sub

通常,您可以将C#加载项视为常规托管应用程序,并使用.net提供或喜欢的任何方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM