This project is an ASP.NET Core middleware that enables an application to support more authentication workflow.
文档 | NuGet |
---|---|
360 OAuth2.0 授权 | |
百度 OAuth2.0 授权 | |
豆瓣 OAuth2.0 授权 | |
淘宝 OAuth2.0 授权 | |
腾讯 OAuth2.0 授权 | |
网易 OAuth2.0 授权 | |
微信 OAuth2.0 授权 | |
新浪 OAuth2.0 授权 | |
小米 OAuth2.0 授权 | |
优酷 OAuth2.0 授权 | |
易信 OAuth2.0 授权 |
更多关于 OAuth 2.0 的信息,可参考 oauth.net 和 OAuth 2.0 中文文档。
该项目是根据 ASP.NET Core Security 写的众多账号平台授权登录。
所以,你可以跟 Microsoft.AspNetCore.Authentication.*
下的众多账号授权组件一样使用:
- 在
Startup
中的ConfigureServices
添加配置 Identity、Token、Authentication、CookieAuthentication 等服务 - 在
Startup
中的Configure
里 直接添加配置并使用 这些服务。
在这里,就贴关键的部分(以豆瓣为例),有关账号授权的较为完整代码,建议参考官方提供的例子 —— Music Store 或者查看 Security sample
根据文档建议,开发时可使用 Microsoft.Extensions.SecretManager 存储相关数据,
需要在 ConfigureServices 中使用 IConfigurationBuilder.AddUserSecrets()
目前大概有两种方法添加数据,一种是命令行(必须确保 project.json
中 userSecretsId
值唯一);另一种是在 Visual Studio 右键项目中,点击“管理用户机密”,会自动添加 userSecretsId
。
- Visual Studio 2015 默认没有将 dnx runtime 放入 %PATH% 中,所以必须先将其放入,或者使用
dnvm upgrade
自动添加 - dnu commands install Microsoft.Extensions.SecretManager
- user-secret set Authentication:Douban:ApiKey 00d***060
- user-secret set Authentication:Douban:Secret 39**b4
打开项目机密文件,可以得到类似这样的 json 结构:
{
"Authentication:Douban:ApiKey": "00d***060",
"Authentication:Douban:Secret": "39**b4"
}
...
// ConfigureServices 下
services.AddAuthentication(options => options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme);
...
// Configure 下
app.UseDoubanAuthentication(new DoubanOption
{
ApiKey = Configuration["Authentication:Douban:ApiKey"],
Secret = Configuration["Authentication:Douban:Secret"]
});
...
目前,仅在 ASP.NET Core beta6+ 有效; 最后要说的,也是显而易见的是,目前的授权模式为 Server-side