ieftool
v1.0.11
Published
Development tool for Azure B2C IEF policies
Downloads
879
Readme
Go port
A port of this package written in golang is available at https://github.com/judedaryl/go-ieftool. Both packages these packages will be supported. If you want to use the tool but do not want the node runtime that it requires, please check out the port.
About
ieftool
is a cli library based on npm for uploading B2C TrustFramework Policies.
This tool makes it easier for B2C policies to be uploaded in-order based on the inheritance of a policy. Uploads are also faster because policies are uploaded by batch depending on its position on the inheritance tree.
src/
├─ social/
│ ├─ base.xml (1A_SBASE)
│ ├─ signupsignin.xml (1A_SSS)
├─ local/
│ ├─ base.xml (1A_LBASE)
│ ├─ signupsignin.xml (1A_LSS)
│ ├─ passwordreset.xml (1A_LPR)
├─ base.xml (1A_BASE)
├─ extension.xml (1A_EXT)
The example folder structure above has the following inheritance tree.
1A_BASE
|
1A_EXT
/ \
1A_LBASE 1A_SBASE
/ \ \
1A_LSS 1A_LPR 1A_SSS
These policies are then batched by their hierarchy in the tree, as well as their parent policy. The order of upload would then be.
- 1A_Base
- 1A_EXT
- 1A_LBASE, 1A_LSBASE
- 1A_LSS, 1A_LPR
- 1A_LSSS
Installation
Via npm
npm install -g ieftool
Via yarn
yarn global add ieftool
Supported node versions
ieftool
only supports LTS releases, largely because it is using @azure/msal-node.
##Options
Usage: ieftool [options] [command]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
deploy [options]
help [command] display help for command
deploy
The deploy
command is responsible for uploading policies to B2C.
Usage: ieftool deploy [options]
Options:
-t, --tenant_id <tenant_id> B2C tenant id
-c, --client_id <client_id> App registration client id
-s, --client_secret <client_secret> App registration client secret
-p, --path <path> Build path
-h, --help display help for command
build
Usage: ieftool build [options]
Compiles B2C templates and policies
Options: -c, --config Specify the path to the b2c compiler configuration (default: "./b2c-template.json") -p, --source_path Specify the path to the templates folder (default: "./src") -o, --output_dir Specify the output folder (default: "./build") -h, --help display help for command
Usage
To upload policies into a B2C tenant.
ieftool deploy -t { tenant } -c { client_id } -s { client_secret } -p { source_path }
| option | description |
|--|--|
| tenant | The B2C tenant, this can either be the tenantId or the tenant name (mytenant.onmicrosoft.com)|
| client_id | The client id of an app registration in B2C that has permissions for TrustFrameworkPolicies |
| client_secret | The client secret of an app registration in B2C that has permissions for TrustFrameworkPolicies |
| source_path | The path to your b2c policies. In the tree structure above it would be ./src
|
To build policies
ieftool build -c { config_path } -p { source_path } -o { output_path }
| option | description | |--|--| | config | The path to the configuration file. Defaults to './b2c-template.json' | | source_path | The path to your b2c policies | | output_path | The path where the compiled policies are written to |