Skip to content

Commit af8a50a

Browse files
author
Ashkan Sirous
committed
Restructureing Readme file and moving the get started to another file
1 parent 7ba65a1 commit af8a50a

File tree

10 files changed

+29
-3
lines changed

10 files changed

+29
-3
lines changed

README.md

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ Use this reference code to get started on building a [SCIM](https://docs.microso
3636
|/ResourceTypes|**Retrieve supported resource types.**<br/>The number and types of resources supported by each service provider can vary. (e.g. Service Provider A supports users while Service Provider B supports users and groups).|
3737
|/ServiceProviderConfig|**Retrieve service provider's SCIM configuration**<br/>The SCIM features supported by each service provider can vary. (e.g. Service Provider A supports Patch operations while Service Provider B supports Patch Operations and Schema Discovery).|
3838

39+
<<<<<<< Updated upstream
3940
## Prerequisites
4041

4142
1. [Visual Studio 2019](https://visualstudio.microsoft.com/downloads/) (required)
@@ -138,6 +139,11 @@ Provided below are test cases that you can use to ensure that your SCIM endpoint
138139
|CRUD operations on a Resource|Test that resources can be made, modified and deleted.|
139140
|Resource filtering|Test that specific resources are located and returned by filtered value (e.g. **?filters=DisplayName+eq+%22BobIsAmazing%22**).|
140141
|Attribute filtering|Test that specific attributes are located and returned (e.g. **?attributes=userName,emails**).|
142+
=======
143+
## Getting Started
144+
The `Microsoft.SystemForCrossDomainIdentityManagement` project contains the code base for building a SCIM API. The `Microsoft.SCIM.Sample` project is there as a sample for using the project.
145+
A step by step guide for starting up with the project can be found [here](docs/Get-Started.md)
146+
>>>>>>> Stashed changes
141147
142148
## Navigating the reference code
143149

@@ -167,9 +173,7 @@ This reference code was developed as a .Net core MVC web API for SCIM provisioni
167173
|Add additional filterable attributes|**Steps**<br/>1. Navigate to the **FilterUsers.cs** or **FilterGroups.cs** files located in **ScimReferenceApi > Protocol**.<br/>2. Update the method to include the attributes that you would like to support filtering for. |
168174
|Support additional user resource extensions|**Steps**<br/>1. Copy the **EnterpriseUser.cs** file located in **ScimReferenceApi > Schemas**.<br/>2. Rename the class to your custom extension name (e.g. customExtensionName.cs)<br/>3. Update the schema to match the desired naming convention.<br/>4. Repeat steps 1 - 3 with the **EnterpriseAttributes.cs** file (located in ScimReferenceApi > Schemas > Attributes) and update it with the attributes that you need.|
169175

170-
## Contents
171-
172-
176+
### Contents
173177
| File/folder | Description |
174178
|-------------------|--------------------------------------------|
175179
| `ScimRefrenceAPI` | Sample source code. |
@@ -180,6 +184,28 @@ This reference code was developed as a .Net core MVC web API for SCIM provisioni
180184
| `README.md` | This README file. |
181185
| `LICENSE` | The license for the sample. |
182186

187+
188+
## Authorization
189+
The SCIM standard leaves authentication and authorization relatively open. You could use cookies, basic authentication, TLS client authentication, or any of the other methods listed [here](https://tools.ietf.org/html/rfc7644#section-2). You should take into consideration security and industry best practices when choosing an authentication/authorization method. Avoid insecure methods such as username and password in favor of more secure methods such as OAuth. Azure AD supports long-lived bearer tokens (for gallery and non-gallery applications) as well as the OAuth authorization grant (for applications published in the app gallery). This reference code allows you to either turn authorization off to simplify testing, generate a bearer token, or bring your own bearer token.
190+
191+
**Option 1**: Turn off authorization (this should only be used for testing)
192+
* Navigate to the **UsersController.cs** or **GroupController.cs** files located in **ScimReferenceApi > Controllers**.<br/>2. Comment out the authorize command.
193+
194+
**Option 2**: Get a bearer token signed by Microsoft security bearer (should only be used for testing, not in production)
195+
* Post to to the key endpoint with the string "SecureLogin" to retrieve a token. The token is valid for 120 minutes (the validity can be changed in the key controller).
196+
197+
**Option 3**: Bring your own token
198+
* **Option 3a**: Generate your own token that matches the specifications of the reference code.
199+
* By default the issuer, audience, and signer must be "Microsoft.Security.Bearer"
200+
* These are defaults to get started testing quickly. They should not be relied on in production.
201+
* **Option 3b**: Generate your own token and update the specifications of the reference code to match your token.
202+
* Change the specifications in the configure service section of the startup.cs class.
203+
* Specify the authorization settings you would like to validate.
204+
* Generate a token on your own that matches those specifications.
205+
206+
Provided below are test cases that you can use to ensure that your SCIM endpoint is compliant with the SCIM RFC.
207+
208+
183209
## Contributing to the reference code
184210

185211
This project welcomes contributions and suggestions! Like other open source contributions, you will need to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

Screenshots/CloneLinkVS-2.png

-15.6 KB
Binary file not shown.

Screenshots/CloneLinkVS.png

-4.49 KB
Binary file not shown.

Screenshots/CloneLinkVSO.png

-15.7 KB
Binary file not shown.

Screenshots/CloudPublish.png

-21.1 KB
Binary file not shown.

Screenshots/CloudPublish2.png

-18.9 KB
Binary file not shown.

Screenshots/CloudPublish3.png

-20.2 KB
Binary file not shown.

Screenshots/Postman.png

-26.1 KB
Binary file not shown.

Screenshots/Postman2.png

-26.2 KB
Binary file not shown.

Screenshots/SolutionExplorer.png

-16.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)