我想自定义 VS2013 网络表单新项目模板附带的OpenAuthProviders
用户界面,以便显示 Facebook,Google,Twitter,Microsoft Live 品牌图像而不是文本按钮。即使它与MVC5模板有关,我也会接受提供相关详细信息的答案。在Web表单模板中,UI用户控件具有ListView
,该 public IEnumerable<string> GetProviderNames()
{
return Context.GetOwinContext().Authentication.GetExternalAuthenticationTypes().Select(t => t.AuthenticationType);
}
通过此服务器方法填充:
AuthenticationType
其中属性Select()
是提供者的文字名称,例如 Google 或 Facebook 。如果Startup.ConfigureAuth(IAppBuilder app)
可以返回品牌徽标图片,那将会很棒。
我的第一次尝试检查了app.UseFacebookAuthentication(..)
,其中配置了外部提供商,例如GetProviderNames()
。但是我没有看到如何提供可以在服务器方法中选择的brand-logo-images src-url。
如果我要破解这个,我会修改AuthenticationType
方法,对每个{{1}}进行查找,以获取可用于填充图像属性的图像src-url UI html中的元素。我只是想知道是否有更优雅的方式。