保存身份validation令牌的最佳方法?

我一直在努力在c#中实现api。 实施进展顺利,但我确实遇到了一个问题。

当我的库已经授权反对api时,我有一个auth_token,我用它来对webservice进行后续查询。

令牌需要在程序运行之间保持,因为它对于用户保持不变(尽管我确实检查它是否在应用程序启动时仍然有效)。

出于测试目的,我基本上只将令牌保存到文本文件中,该文件保存在应用程序的根目录中。

这很好,但这是最好的方法吗?

不确定用户会意识到它会保存在一个明文文件中(即使它在他自己的电脑上)。

那么,保存这样的令牌的一般做法是什么?

我会使用Windows数据保护有很多关于如何从C#使用它的例子 。 它使用特定于用户的密钥来加密数据。 只有用户自己才能解密它。 还要确保在服务器和客户端之间传输期间保护数据。

在项目属性中为项目创建设置文件,将AuthToken属性添加到已知设置(可能在用户级别),然后使用:

 Properties.Settings.Default.AuthToken = userAuthToken; 

如果您认为他们希望隐藏,加密或编码userAuthToken那么它就不那么明显了。

您可以validationapi是在asp.net或windows环境下使用(它足以检查Request是否为null),并且在第一种情况下使用cookie,后者将其保存在注册表项上。