Example #1
0
        public static void UseBasicAuthentication(this IAppBuilder owinApp, BasicAuthUserPassValidator userPassValidator)
        {
            owinApp.UseBasicAuthentication(new BasicAuthenticationOptions("BasicAuth", async(username, password) =>
            {
                string userId = await userPassValidator(username, password);

                if (!string.IsNullOrEmpty(userId))
                {
                    return(new List <System.Security.Claims.Claim>
                    {
                        new System.Security.Claims.Claim("client_id", "basic-auth"),
                        new System.Security.Claims.Claim("sub", userId),
                        new System.Security.Claims.Claim("primary_sid", userId),
                        new System.Security.Claims.Claim("upn", userId),
                        new System.Security.Claims.Claim("name", userId),
                        new System.Security.Claims.Claim("given_name", userId)
                    });
                }
                else
                {
                    return(null);
                }
            }));
        }
        public static IDependencyManager RegisterBasicAuthMiddleware(this IDependencyManager dependencyManager, BasicAuthUserPassValidator userPassValidator)
        {
            if (userPassValidator == null)
            {
                throw new ArgumentNullException(nameof(userPassValidator));
            }

            dependencyManager.RegisterOwinMiddlewareUsing(owinApp =>
            {
                owinApp.UseBasicAuthentication(userPassValidator);
            });

            return(dependencyManager);
        }