本文整理汇总了C#中Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions.ForUmbracoBackOffice方法的典型用法代码示例。如果您正苦于以下问题:C# GoogleOAuth2AuthenticationOptions.ForUmbracoBackOffice方法的具体用法?C# GoogleOAuth2AuthenticationOptions.ForUmbracoBackOffice怎么用?C# GoogleOAuth2AuthenticationOptions.ForUmbracoBackOffice使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Owin.Security.Google.GoogleOAuth2AuthenticationOptions
的用法示例。
在下文中一共展示了GoogleOAuth2AuthenticationOptions.ForUmbracoBackOffice方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConfigureBackOfficeGoogleAuth
/// <summary>
/// Configure google sign-in
/// </summary>
/// <param name="app"></param>
/// <param name="clientId"></param>
/// <param name="clientSecret"></param>
/// <param name="caption"></param>
/// <param name="style"></param>
/// <param name="icon"></param>
/// <remarks>
///
/// Nuget installation:
/// Microsoft.Owin.Security.Google
///
/// Google account documentation for ASP.Net Identity can be found:
///
/// http://www.asp.net/web-api/overview/security/external-authentication-services#GOOGLE
///
/// Google apps can be created here:
///
/// https://developers.google.com/accounts/docs/OpenIDConnect#getcredentials
///
/// </remarks>
public static void ConfigureBackOfficeGoogleAuth(this IAppBuilder app, string clientId, string clientSecret,
string caption = "Google", string style = "btn-google-plus", string icon = "fa-google-plus")
{
var googleOptions = new GoogleOAuth2AuthenticationOptions
{
ClientId = clientId,
ClientSecret = clientSecret,
//In order to allow using different google providers on the front-end vs the back office,
// these settings are very important to make them distinguished from one another.
SignInAsAuthenticationType = Constants.Security.BackOfficeExternalAuthenticationType,
// By default this is '/signin-google', you will need to change that default value in your
// Google developer settings for your web-app in the "REDIRECT URIS" setting
CallbackPath = new PathString("/umbraco-google-signin")
};
googleOptions.ForUmbracoBackOffice(style, icon);
googleOptions.Caption = caption;
app.UseGoogleAuthentication(googleOptions);
}
示例2: ConfigureBackOfficeGoogleAuth
/// <summary>
/// Configure google sign-in
/// </summary>
/// <param name="app"></param>
/// <param name="clientId"></param>
/// <param name="clientSecret"></param>
/// <param name="caption"></param>
/// <param name="style"></param>
/// <param name="icon"></param>
/// <remarks>
///
/// Nuget installation:
/// Microsoft.Owin.Security.Google
///
/// Google account documentation for ASP.Net Identity can be found:
///
/// http://www.asp.net/web-api/overview/security/external-authentication-services#GOOGLE
///
/// Google apps can be created here:
///
/// https://developers.google.com/accounts/docs/OpenIDConnect#getcredentials
///
/// </remarks>
public static void ConfigureBackOfficeGoogleAuth(this IAppBuilder app, string clientId, string clientSecret,
string caption = "Google", string style = "btn-google-plus", string icon = "fa-google-plus")
{
var googleOptions = new GoogleOAuth2AuthenticationOptions
{
ClientId = clientId,
ClientSecret = clientSecret,
//In order to allow using different google providers on the front-end vs the back office,
// these settings are very important to make them distinguished from one another.
SignInAsAuthenticationType = Constants.Security.BackOfficeExternalAuthenticationType,
// By default this is '/signin-google', you will need to change that default value in your
// Google developer settings for your web-app in the "REDIRECT URIS" setting
CallbackPath = new PathString("/umbraco-google-signin"),
Provider = new GoogleOAuth2AuthenticationProvider
{
OnAuthenticated = context =>
{
var emailParts = context.Email.Split('@');
if (emailParts.Last() == "umbraco.dk" || emailParts.Last() == "umbraco.com")
// All good, return as usual
return Task.FromResult(0);
// Whoa, this one doesn't belong in our backoffice, throw exception, this will return a nulled out Auth Ticket
var errorMessage = string.Format("User tried to log in with {0}, which does not end with an accepted domain name.", context.Email);
throw new AuthenticationException(errorMessage);
}
}
};
googleOptions.ForUmbracoBackOffice(style, icon);
googleOptions.Caption = caption;
googleOptions.SetExternalSignInAutoLinkOptions(
new ExternalSignInAutoLinkOptions(
autoLinkExternalAccount: true,
defaultUserType: "admin",
defaultAllowedSections: new[] { "content", "media", "settings", "developer", "users", "member" }));
app.UseGoogleAuthentication(googleOptions);
}