javascript-oauth2 | Implementation of OAuth2 in JavaScript using CORS | Runtime Evironment library
kandi X-RAY | javascript-oauth2 Summary
kandi X-RAY | javascript-oauth2 Summary
Implementation of OAuth2 in JavaScript using CORS
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of javascript-oauth2
javascript-oauth2 Key Features
javascript-oauth2 Examples and Code Snippets
Community Discussions
Trending Discussions on javascript-oauth2
QUESTION
Following on from JavaScript OAuth2 flow for Azure AD v2 login does not give an access_token, I'm trying to figure out the best endpoint to use, to get the logged in users details (eg, display name, email, etc.).
However, I noticed in there are 2 potential endpoints I can use
1, is used in bell for hapijs and is documented in Use the Outlook REST API. However, in bell, I can't seem to figure out the scope
I need to get it working for OAuth 2.0. I've tried openid
, email
, profile
, Mail.Read
(only trying this because I've seen it in some docs), and User.Read
, but the first 3 scopes don't give back a access_token
as per JavaScript OAuth2 flow for Azure AD v2 login does not give an access_token, and the last 2 (Mail.Read
, and User.Read
) give me an access_token
, but they give me authentication issues when calling https://outlook.office.com/api/v2.0/me with Authorization: 'Bearer [access_token]
.
I found the endpoint for 2 at Microsoft Graph: Get user and it seems to work with the User.Read
scope. I get the following response using the access_token
returned:
ANSWER
Answered 2018-Mar-23 at 17:42You should absolutely use Microsoft Graph for this and the /v1.0/me
endpoint is the correct URI for retrieving the user's profile information.
As for finding their email address, there are a few potential properties you could pull:
mail
: This is the default SMTP address for the user. If it is showing up as null, this suggests the value wasn't populated. Normally this is populated automatically by Exchange but depending on the tenant it may need to be manually populated.proxyAddresses
: This is an array of addresses associated with the user. Typically you only use this property when you need to surface a user's alternative email aliases (i.e.name@comp.com
&firstname.lastname@comp.com
).
If you are only looking for very basic information (name and email) you be able to use OpenID Connect and skip the Microsoft Graph call entirely. OpenID Connect supports returning the user's profile as part of the profile.
To use OpenID Connect you need to make a couple of changes to your Authorization request (i.e. the initial call to https://login.microsoftonline.com/common/oauth2/v2.0/authorize
):
- The
response_type
must includeid_token
. (eg.&response_type=id_token+code
) - The
scope
must includeopenid
,profile
, andemail
(eg.&scope=openid profile email user.read
).
When enabled, you will receive an additional property in your Access Token response named id_token
. This property holds a JSON Web Token (JWT) that you can decode an obtain the user's profile information:
As an illustration, I used the settings above to request a token from my test Azure AD instance. I took that token and decoded it (I used http://jwt.ms/ but JWT decoder would work) to get the OpenID Connect profile:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install javascript-oauth2
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page