Tôi đã thiết lập ứng dụng Azure AD mà tôi muốn sử dụng với ứng dụng web của mình. Tôi đã thu được một mã thông báo OAuth sử dụng các bước sau:Lỗi đặc quyền không đầy đủ khi cố gắng truy cập vào Azure Graph API
Trước tiên tôi yêu cầu mã uỷ quyền của tôi:
https://login.windows.net/common/oauth2/authorize?redirect_uri={REDIRECT_URI}&client_id={CLIENT_ID}&response_type=code&state=o365&prompt=admin_consent
này đưa người dùng đến các trang login.windows.net nơi họ phải chấp nhận điều khoản mà ứng dụng của tôi là sẽ sử dụng trên AD của họ.
Sau đó tôi nhận được mã thông báo OAuth sử dụng thiết bị đầu cuối này https://login.windows.net/common/oauth2/token với tải trọng này sử dụng C#:
{"code": {AUTH_CODE}},
{"state", {STATE}},
{"grant_type", "authorization_code"},
{"redirect_uri", "{REDIRECT_URI}"},
{"client_id", "1ff78c4b-414f-44c7-834b-09bdae96f440"},
{"client_secret", "{CLIENT_SECRET}"},
{"resource", "https://graph.windows.net"}
Tất cả mọi thứ trở lại tốt và tôi nhận được Mã thông báo oAuth tôi. Tuy nhiên khi tôi cố gắng cuộn tròn API Graph sử dụng thẻ tôi nhận được lỗi này
curl https://graph.windows.net/{tenant}/users?api-version=1.5 -H "Authorization: Bearer [AUTH_TOKEN]"
{"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."}}}
Tôi đã cố gắng lĩnh vực thực tế cho {thuê}, "cái tôi" bí danh và "myorganization" bí danh và tất cả họ don 't làm việc. Bí danh "tôi" trả về lỗi nói rằng tài nguyên 'người dùng' không tồn tại. Tôi bối rối về vấn đề ở đây là
Xin chào Matt. Ứng dụng của bạn yêu cầu những quyền nào? Ví dụ: "đăng nhập và đọc tiểu sử của tôi" mặc định không cho phép ứng dụng đọc thông tin hồ sơ của người dùng khác. –