2016-06-29 2 views
0

Ich möchte meinen Benutzern erlauben, mit ihrem Office 365-Konto auf meine WebApp zuzugreifen, so wie ich es bereits mit Twitter, Facebook und Google getan habe. Ich habe bereits eine WebApp in Azure AD erstellt.nodejs -> OAuth2 Azure AD -> Fehler AADSTS50001

Ich benutze Nodejs, Passjs und Pass-Azure-Oauth2-Strategie.

In Azure AD, die Web-Anwendung ist Multitenant und die SIGN-ON-URL "https://nudniq.com"

APP ID URI: "https: \ nudniq.com" Antworten URL: „https: \ nudniq.comauth \ Microsoft \ Rückruf“ Benutzerzuordnung erforderlich App zuzugreifen: NO

Hinweis: ich bin shlashes statt Hiebe in die hier gepostet von URL zurück, weil nur ich Stackoverflow nicht mehr als zwei Links zu schreiben.

Die einzige permision, die ich bitte ist:

Read all users' basic profiles 

Ich bin meine Strategie mit diesen Werten zu erstellen:

clientID: '<client_id>', 
clientSecret: '<client_secret_key>', 
callbackURL: 'https://nudniq.com/auth/microsoft/callback' 

Aber ich die folgende Fehlermeldung:

TokenError: AADSTS50001: Resource identifier is not provided. 
Trace ID: 95f88f5a-95b9-4d3a-86fe-19ae0bbfcc76 
Correlation ID: b056150c-debd-469d-963b-ea362ca93884 
Timestamp: 2016-06-29 01:38:39Z 
    at AzureOAuth2.OAuth2Strategy.parseErrorResponse (/home/ec2-user/test2/fastpass/node_modules/passport-oauth2/lib/strategy.js:298:12) 
    at AzureOAuth2.OAuth2Strategy._createOAuthError (/home/ec2-user/test2/fastpass/node_modules/passport-oauth2/lib/strategy.js:345:16) 
    at /home/ec2-user/test2/fastpass/node_modules/passport-oauth2/lib/strategy.js:171:43 
    at /home/ec2-user/test2/fastpass/node_modules/oauth/lib/oauth2.js:177:18 
    at passBackControl (/home/ec2-user/test2/fastpass/node_modules/oauth/lib/oauth2.js:123:9) 
    at IncomingMessage.<anonymous> (/home/ec2-user/test2/fastpass/node_modules/oauth/lib/oauth2.js:143:7) 
    at IncomingMessage.emit (events.js:129:20) 
    at _stream_readable.js:908:16 
    at process._tickDomainCallback (node.js:381:11) 

Bitte helfen Sie mir, ich weiß nicht, was ich falsch mache.

Antwort

0

Wenn Sie verwenden AzureOAuthStrategy Strategie, wenn Sie dieses Problem auftreten, bedeutet dies, Sie haben den Parameter resource Fehl konfiguriert.

Nach dem Codeb. im Repository auf GitHub:

this.passport.use("provider", new AzureOAuth2Strategy({ 
    clientID: config.clientID, 
    clientSecret: config.clientSecret, 
    callbackURL: config.callbackUri, 
    resource: config.resource, 
    tenant: config.tenant, 
    prompt: 'login', 
    state: false 
} 

wir diese resource Parameter konfigurieren müssen.
Da Sie Ihre Benutzer mit Office 365 authentifizieren müssen, versuchen Sie, resource auf https://graph.microsoft.com zu setzen.

Darüber hinaus regenerieren Sie bitte den geheimen Schlüssel Ihrer AAD-Anwendung und bewahren Sie ihn in Ihrer Anwendung auf. Setzen Sie ihn nicht der Öffentlichkeit aus.

Jedes Update, bitte zögern Sie nicht mich zu informieren.

Verwandte Themen