revert delete user password
This commit is contained in:
Родитель
a5d8f5fd31
Коммит
b3709e89a7
|
@ -1,346 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Carved Rock Fitness</title>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
|
||||
<link
|
||||
href="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/bootstrap/bootstrap-reboot.min.css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link
|
||||
href="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/bootstrap/bootstrap.css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link
|
||||
href="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/bootstrap/bootstrap-grid.css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="css/main.css" rel="stylesheet" />
|
||||
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
|
||||
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
|
||||
crossorigin="anonymous"
|
||||
></script>
|
||||
<script
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
|
||||
integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
|
||||
crossorigin="anonymous"
|
||||
></script>
|
||||
<script src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/js/bootstrap.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="crf">
|
||||
<!-- NAVIGATION -->
|
||||
<nav class="navbar navbar-expand flex-column flex-md-row header-nav--nav">
|
||||
<div class="container">
|
||||
<div class="d-md-flex justify-content-between">
|
||||
<div
|
||||
class="navbar-brand d-flex justify-content-between align-items-center"
|
||||
>
|
||||
<a href="#"
|
||||
><img
|
||||
alt="Carved Rock Fitness"
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/logos/carved-rock-logo.png"
|
||||
/></a>
|
||||
<button
|
||||
aria-controls="navbarNav"
|
||||
aria-expanded="false"
|
||||
aria-label="Toggle navigation"
|
||||
class="navbar-toggle"
|
||||
data-target="#navbarNav"
|
||||
data-toggle="collapse"
|
||||
type="button"
|
||||
>
|
||||
<span class="icon-bar"></span><span class="icon-bar"></span
|
||||
><span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div
|
||||
class="collapse navbar-collapse justify-content-center align-items-center"
|
||||
id="navbarNav"
|
||||
>
|
||||
<div class="header-nav--main">
|
||||
<form
|
||||
class="form-inline form-inline d-none d-sm-none d-md-block"
|
||||
>
|
||||
<input
|
||||
aria-label="Search"
|
||||
class="form-control"
|
||||
placeholder="What can we help you find?"
|
||||
type="search"
|
||||
/>
|
||||
<button class="btn btn-default" type="submit">SEARCH</button>
|
||||
</form>
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Clothing</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Footwear</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Equipment</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Bags & Travel</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Trail Reviews</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div
|
||||
class="header-nav--utilities d-flex align-items-center justify-content-end flex-row-reverse flex-row flex-md-row"
|
||||
>
|
||||
<div class="account d-flex flex-column">
|
||||
John Doe <a href="#">Log Out</a>
|
||||
</div>
|
||||
<div class="image">
|
||||
<img
|
||||
alt="John Doe"
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/profile-pic.jpg"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- MOBILE SEARCH -->
|
||||
<section class="header-nav--search d-block d-sm-block d-md-none">
|
||||
<form class="form-inline form-inline">
|
||||
<input
|
||||
aria-label="Search"
|
||||
class="form-control"
|
||||
placeholder="What can we help you find?"
|
||||
type="search"
|
||||
/>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<!-- HEADER -->
|
||||
<div class="jumbotron jumbotron-fluid crf-hero d-flex">
|
||||
<div
|
||||
class="container d-flex flex-column justify-content-center align-items-sm-stretch align-items-md-center"
|
||||
>
|
||||
<h1 class="col-sm-12">GET A GRIP</h1>
|
||||
<h2>20% OFF</h2>
|
||||
<p class="lead">THROUGHOUT THE SEASON</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SALE BANNER -->
|
||||
<div class="container crf-cigar-banner">
|
||||
<div class="row">
|
||||
<div
|
||||
class="crf-cigar-banner--container d-flex justify-content-center align-items-center"
|
||||
>
|
||||
<img
|
||||
alt="Brown Boots"
|
||||
class="order-sm-0 order-md-0"
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/img-brownboots.jpg"
|
||||
/>
|
||||
<div class="crf-cigar-banner--text order-sm-2 order-md-1">
|
||||
<div class="text-light">Couples retreat weekend</div>
|
||||
<div class="text-secondary">Save an extra 20%</div>
|
||||
<div class="text-primary">when you buy 2 pairs of boots</div>
|
||||
</div>
|
||||
<img
|
||||
alt="Grey Boots"
|
||||
class="order-sm-1 order-md-2"
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/img-greyboots.jpg"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- STORIES -->
|
||||
<div class="container crf-story">
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<a href="#">
|
||||
<div class="crf-story--image">
|
||||
<img
|
||||
alt="Splash Chic"
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/story-1.jpg"
|
||||
/>
|
||||
</div>
|
||||
<div class="crf-story--text">
|
||||
<h3>Splash Chic</h3>
|
||||
<div>Women's Wet Gear</div>
|
||||
</div></a
|
||||
>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<a href="#">
|
||||
<div class="crf-story--image">
|
||||
<img
|
||||
alt="Kid Klimbers"
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/story-2.jpg"
|
||||
/>
|
||||
</div>
|
||||
<div class="crf-story--text">
|
||||
<h3>Kid Klimbers</h3>
|
||||
<div>Children's Gear</div>
|
||||
</div></a
|
||||
>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<a href="#">
|
||||
<div class="crf-story--image">
|
||||
<img
|
||||
alt="Pack It In"
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/story-4.jpg"
|
||||
/>
|
||||
</div>
|
||||
<div class="crf-story--text">
|
||||
<h3>Pack It In</h3>
|
||||
<div>Camping Gear</div>
|
||||
</div></a
|
||||
>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-6">
|
||||
<a href="#">
|
||||
<div class="crf-story--image">
|
||||
<img
|
||||
alt="Nature's AC"
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/story-3.jpg"
|
||||
/>
|
||||
</div>
|
||||
<div class="crf-story--text">
|
||||
<h3>Nature's AC</h3>
|
||||
<div>Men's Shorts</div>
|
||||
</div></a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- VISTAS -->
|
||||
<div class="container crf-full-banner">
|
||||
<div class="row">
|
||||
<div class="col d-md-flex align-items-md-stretch flex-md-nowrap">
|
||||
<div class="crf-full-banner--image flex-sm-grow-1">
|
||||
<h4 class="d-lg-none">Trail Review</h4>
|
||||
</div>
|
||||
<div
|
||||
class="crf-full-banner--text d-flex flex-column align-items-center justify-content-center flex-sm-grow-1"
|
||||
>
|
||||
<h4>Trail Review</h4>
|
||||
<div>Asphalt</div>
|
||||
<div>National Park</div>
|
||||
<a class="btn btn-default" href="#">See Review</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- FOOTER -->
|
||||
<footer class="d-flex justify-content-stretch">
|
||||
<div class="crf-footer--category">
|
||||
<div class="container">
|
||||
<div
|
||||
class="row row d-md-flex justify-content-between flex-sm-column flex-lg-row"
|
||||
>
|
||||
<div class="crf-footer--links active">
|
||||
<div class="crf-footer--header text-primary">
|
||||
Customer Support
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="#">Contact Us</a></li>
|
||||
<li><a href="#">Order Tracker</a></li>
|
||||
<li><a href="#">Returns & Refunds</a></li>
|
||||
<li><a href="#">Size Guide</a></li>
|
||||
<li><a href="#">Store Locator</a></li>
|
||||
<li><a href="#">Site Map</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="crf-footer--links">
|
||||
<div class="crf-footer--header text-primary">Company Info</div>
|
||||
<ul>
|
||||
<li><a href="#">About Us</a></li>
|
||||
<li><a href="#">Careers</a></li>
|
||||
<li><a href="#">Press</a></li>
|
||||
<li><a href="#">Sustainability</a></li>
|
||||
<li><a href="#">Affiliates</a></li>
|
||||
<li><a href="#">Students</a></li>
|
||||
<li><a href="#">Mobile Apps</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="crf-footer--links">
|
||||
<div class="crf-footer--header text-primary">
|
||||
Privacy & Terms
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="#">Privacy & Security</a></li>
|
||||
<li><a href="#">Statement</a></li>
|
||||
<li><a href="#">Terms & Conditions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="crf-footer--links crf-footer--social">
|
||||
<div
|
||||
class="crf-footer--header text-primary d-lg-block d-none d-sm-none"
|
||||
>
|
||||
Follow Us
|
||||
</div>
|
||||
<ul class="d-lg-block d-none d-sm-none">
|
||||
<li><a href="#" class="crf-footer--icon twitter"></a></li>
|
||||
<li><a href="#" class="crf-footer--icon facebook"></a></li>
|
||||
<li><a href="#" class="crf-footer--icon pinterest"></a></li>
|
||||
<li><a href="#" class="crf-footer--icon instagram"></a></li>
|
||||
<li><a href="#" class="crf-footer--icon googleplus"></a></li>
|
||||
</ul>
|
||||
<div class="crf-footer--newsletter">
|
||||
<div class="crf-footer--header">Email Updates</div>
|
||||
<div class="crf-footer--subheader">
|
||||
Exclusive sales, special offers, and more.
|
||||
</div>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
placeholder="Enter email address"
|
||||
/>
|
||||
<button class="btn btn-primary">Sign up</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="crf-footer--links crf-footer-m--social d-block d-lg-none"
|
||||
>
|
||||
<div class="crf-footer--header text-primary">Follow Us</div>
|
||||
<ul>
|
||||
<li><a href="#" class="crf-footer--icon twitter"></a></li>
|
||||
<li><a href="#" class="crf-footer--icon facebook"></a></li>
|
||||
<li><a href="#" class="crf-footer--icon pinterest"></a></li>
|
||||
<li><a href="#" class="crf-footer--icon instagram"></a></li>
|
||||
<li><a href="#" class="crf-footer--icon googleplus"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="crf-footer--logo d-flex">
|
||||
<div
|
||||
class="container justify-content-start align-items-center d-flex flex-column"
|
||||
>
|
||||
<img
|
||||
src="https://www.pluralsight.com/content/dam/pluralsight2/teach/author-tools/carved-rock-fitness/logos/pluralsight-white.png"
|
||||
/>
|
||||
<div>
|
||||
This site is created for demonstrative purposes only and does not
|
||||
offer any real products or services.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="crf-footer--copyright text-primary">@Pluralsight 2018</div>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="index.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import moment from 'moment'
|
||||
import moment from "moment"
|
||||
|
||||
export enum WellKnownDataSet {
|
||||
PrimaryResult = "PrimaryResult",
|
||||
|
|
|
@ -13,7 +13,9 @@ export class AadHelper {
|
|||
throw new Error("Invalid string builder - missing dataSource");
|
||||
}
|
||||
|
||||
if (!!kcsb.applicationClientId && !!kcsb.applicationKey) {
|
||||
if (!!kcsb.aadUserId && !!kcsb.password) {
|
||||
this.tokenProvider = new TokenProvider.UserPassTokenProvider(kcsb.dataSource, kcsb.aadUserId, kcsb.password, kcsb.authorityId);
|
||||
} else if (!!kcsb.applicationClientId && !!kcsb.applicationKey) {
|
||||
this.tokenProvider = new TokenProvider.ApplicationKeyTokenProvider(
|
||||
kcsb.dataSource,
|
||||
kcsb.applicationClientId,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT License.
|
||||
import { AzureCliCredential, ManagedIdentityCredential, ClientSecretCredential, ClientCertificateCredential, ClientCertificateCredentialOptions, ClientCertificatePEMCertificate, DeviceCodeCredential, DeviceCodeInfo } from "@azure/identity";
|
||||
import { AzureCliCredential, ManagedIdentityCredential, ClientSecretCredential, ClientCertificateCredential, ClientCertificateCredentialOptions, ClientCertificatePEMCertificate, DeviceCodeCredential, DeviceCodeInfo, UsernamePasswordCredential } from "@azure/identity";
|
||||
import { TokenCredential } from "@azure/core-auth";
|
||||
import { InteractiveBrowserCredential } from "@azure/identity";
|
||||
import { CloudInfo, CloudSettings } from "./cloudSettings";
|
||||
|
@ -229,6 +229,32 @@ export class AzCliTokenProvider extends AzureIdentityProvider {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Acquire a token from MSAL with username and password
|
||||
*/
|
||||
export class UserPassTokenProvider extends AzureIdentityProvider {
|
||||
|
||||
userName: string;
|
||||
password: string;
|
||||
homeAccountId?: string;
|
||||
constructor(kustoUri: string, userName: string, password: string, authorityId: string) {
|
||||
super(kustoUri, authorityId, undefined);
|
||||
this.userName = userName;
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
getCredential(): TokenCredential {
|
||||
return new UsernamePasswordCredential(this.authorityId!, this.cloudInfo.KustoClientAppId, this.userName, this.password);
|
||||
}
|
||||
|
||||
context(): Record<string, any> {
|
||||
return {
|
||||
...super.context(),
|
||||
userName: this.userName,
|
||||
homeAccountId: this.homeAccountId,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Acquire a token from Device Login flow
|
||||
|
|
|
@ -4,26 +4,6 @@ import 'webpack-dev-server';
|
|||
const webpack = require('webpack');
|
||||
|
||||
let production = process.env.NODE_ENV === "production";
|
||||
// let crypto;
|
||||
// try {crypto = require.resolve("crypto-browserify")
|
||||
// } catch {}
|
||||
|
||||
// let assert;
|
||||
// try {assert = require.resolve("assert")
|
||||
// } catch {}
|
||||
|
||||
// let http;
|
||||
// try {http = require.resolve("stream-http")
|
||||
// } catch {}
|
||||
|
||||
// let crypto;
|
||||
// try {crypto = require.resolve("crypto-browserify")
|
||||
// } catch {}
|
||||
|
||||
// let crypto;
|
||||
// try {crypto = require.resolve("crypto-browserify")
|
||||
// } catch {}
|
||||
|
||||
let config = {
|
||||
entry: {
|
||||
index: "./src/index",
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
"module": "dist-esm/src/index.js",
|
||||
"types": "dist-esm/src/index.d.ts",
|
||||
"scripts": {
|
||||
"build": "tsc"
|
||||
"build": "tsc",
|
||||
"webpack": "webpack serve"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14.0.0"
|
||||
|
@ -46,7 +47,8 @@
|
|||
"https": false,
|
||||
"http": false,
|
||||
"crypto": false,
|
||||
"stream": "readable-stream",
|
||||
"stream": "stream-browserify",
|
||||
"zlib": "browserify-zlib",
|
||||
"./dist-esm/src/streamUtils.js": "./dist-esm/src/streamUtils.browser.js",
|
||||
"./dist-esm/src/fileDescriptor.js": "./dist-esm/src/fileDescriptor.browser.js",
|
||||
"./dist-esm/src/ingestClient.js": "./dist-esm/src/ingestClient.browser.ts"
|
||||
|
@ -63,13 +65,14 @@
|
|||
"azure-kusto-data": "^3.4.3",
|
||||
"browserify-zlib": "0.2.0",
|
||||
"moment": "^2.29.4",
|
||||
"readable-stream": "~2.1.0",
|
||||
"root": "file:../..",
|
||||
"stream-array": "^1.1.2",
|
||||
"stream-to-array": "^2.3.0",
|
||||
"tmp-promise": "^3.0.3",
|
||||
"uuid": "^8.3.2",
|
||||
"uuid-validate": "0.0.3"
|
||||
"uuid-validate": "0.0.3",
|
||||
"stream-browserify": "3.0.0"
|
||||
|
||||
},
|
||||
"gitHead": "f8a5dae26d6d2ca2ab8b95953bb9b88a02e8e35d",
|
||||
"devDependencies": {
|
||||
|
|
|
@ -14,14 +14,6 @@ let config = {
|
|||
filename: "[name].js",
|
||||
path: path.resolve(__dirname, "dist"),
|
||||
},
|
||||
// plugins:
|
||||
// // Work around for Buffer is undefined:
|
||||
// // https://github.com/webpack/changelog-v5/issues/10
|
||||
// // Required for "rhea" package
|
||||
// new webpack.ProvidePlugin({
|
||||
// Buffer: ['buffer', 'Buffer'],
|
||||
// })
|
||||
// ,
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
|
@ -33,18 +25,7 @@ let config = {
|
|||
},
|
||||
resolve: {
|
||||
aliasFields: ['browser'],
|
||||
fallback: {
|
||||
crypto:require.resolve('crypto-browserify') ,
|
||||
assert :require.resolve('assert'),
|
||||
http : require.resolve('stream-http'),
|
||||
https: require.resolve('https-browserify'),
|
||||
stream: require.resolve('stream-browserify'),
|
||||
buffer: require.resolve('buffer'),
|
||||
zlib: require.resolve('browserify-zlib'),
|
||||
url: false,
|
||||
"fs": false
|
||||
|
||||
},
|
||||
fallback:{ "stream": require.resolve("stream-browserify")},
|
||||
extensions: [".ts", ".js"],
|
||||
},
|
||||
devtool: "inline-source-map",
|
||||
|
|
Загрузка…
Ссылка в новой задаче