ServiceStack ApiKey

时间:2019-09-12 08:20:44

标签: servicestack api-key

我将serviceStack用于我的第一个api服务。

我有自己的表“ MyApiKeysTable ”,其中为用户存储了多个api密钥。 我使用实体框架。

如果我使用OrmLiteAuthRepository,它将创建它自己的apikey表。

使用我自己的表“ MyApiKeysTable ”需要做什么?

(我不想使用OrmLite,但stil继续使用EntityFramework。)

有一些例子吗?

1 个答案:

答案 0 :(得分:1)

您不能使用自己的ApiKey类型,ServiceStack's API Key AuthProvider从Auth Repositories解析其API密钥,Auth Repositories implement the IManageApiKeys interface由所有支持API密钥持久性的ServiceStack Auth Repositories实施。

您将需要创建自己的Auth Repository(如OrmLiteAuthRepository并按照自己的喜好实现IManageApiKeys,但是它至少需要返回一个继承ApiKey类的类。

实施您自己的Auth Repository需要付出很多努力,我建议您反对,因为OrmLite是轻量级代码优先的POCO ORM,只需要为其OrmLiteConnectionFactory配置一个db连接字符串即可,您仍然可以在应用程序的其余部分中使用EF,但是我会利用现有的Auth Repositories。

另一种方法是忽略ServiceStack的API密钥身份验证提供程序,并使用自己喜欢的数据访问库来实现自己的实现,您可以使用ApiKeyAuthProvider实现作为指南。