gpt4 book ai didi

azure - 使用 Azure AD 进行 React-Native 身份验证

转载 作者:行者123 更新时间:2023-12-01 07:04:11 28 4
gpt4 key购买 nike

我正在使用react-native构建一个应用程序,需要通过Azure AD向服务器进行身份验证。我尝试用谷歌搜索这个,但令人惊讶的是没有太多与此相关的内容。我找到了这个库“react-native-azure-ad”,但没有太多关于它的文档。我不明白如何使用它。我的主要问题是:使用此库时,我需要将服务器的 url 放在哪里,以便对其进行身份验证?

感谢您的建议!

编辑:

这是我的代码:

    import { ReactNativeAD, ADLoginView } from 'react-native-azure-ad'

const CLIENT_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

class LandingView2 extends React.Component {

constructor(props) {
super(props)
this.AzureADContext = {
client_id: CLIENT_ID,
// Optional
redirect_url: 'http://localhost:8080',
// Optional
authority_host: 'xxxx',
// Optional
tenant: 'common',
// Optional
prompt: 'none',
// Optional
login_hint: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3c494f594e7c5853515d5552125f5351" rel="noreferrer noopener nofollow">[email protected]</a>',
// This is required if client_id is a web application id
// but not recommended doing this way.
client_secret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
resources: [
'https://graph.microsoft.com',
'https://outlook.office365.com',
// ... more resources
]
}
}

render() {

new ReactNativeAD({
client_id: CLIENT_ID,
resources: [
'https://outlook.office365.com'
]
})

return <ADLoginView
context={ReactNativeAD.getContext(CLIENT_ID)}
onSuccess={this.onLoginSuccess.bind(this)} />
}

onLoginSuccess(credentials) {
console.log(credentials['https://outlook.office365.com'].access_token)
// use the access token ..
}

}

最佳答案

您需要在 AAD 中创建两个应用程序。

  • 您的应用的 native 应用程序
  • 您的服务器/API 的另一个应用程序

然后,您可以使用 API 的 clientId 或 AppID URI 作为问题中显示的代码的“资源”。所有其他参数均取自您的客户端应用程序。

如果一切成功,您将获得一个访问 token ,然后您可以在调用 API 时将其用作不记名 token

credentials['https://yourtenant.onmicrosoft.com/yourapiname'].access_token

关于azure - 使用 Azure AD 进行 React-Native 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56314465/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com