如何访问 Netlify 上的登录用户名?
How can I access the logged in user name on Netlify?
我无法理解如何在 Netlify 上处理 函数。特别是,我想在用户登录时访问用户的 ID。
我在 my netlify site 上启用了身份,我可以登录和注销。
<button data-netlify-identity-button id="login"></button>
我创建了一个函数 identity-login,我认为应该处理用户的详细信息,但我看不到如何在网页上使用它
// functions/identity-login.js
exports.handler = async function (event, context) {
const { identity, user } = context.clientContext;
console.log(identity, user)
return {
statusCode: 200,
body: 'hello'
}
};
函数端点是
https://silly-parrot.netlify.app/.netlify/functions/identity-login
我页面的脚本中有这个,但我不知道如何调用它或者它是否正确
async function apiCall() {
const url = `/.netlify/functions/identity-login`;
try {
const response = await fetch(url);
const data = await response;
console.log(data)
return data;
} catch (err) {
console.log(err);
}
}
我该怎么办?
我现在意识到我采取了错误的方法。没有必要使用 Netlify identity-login 事件。 netlifyIdentity 对象提供必要的功能来识别用户何时登录或注销,以及在页面加载(初始化)时发现用户是否登录。用户身份包含在 user.token.access_token
以下代码在我的主要 js 脚本中(您当然需要访问 netlifyIdentity 对象)
<script type="text/javascript" src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
然后设置异步函数来处理授权事件
<script>
var token = '';
var logged_in = false;
async function started() {
logged_in = false;
netlifyIdentity.on('init', async user => {
if(user) {
token = user.token.access_token;
logged_in = true;
}
console.log('init', logged_in, token);
})
netlifyIdentity.on('login', user => {
if(user) {
logged_in = true;
token = user.token.access_token;
}
console.log('log in', logged_in, token);
})
netlifyIdentity.on('logout', () => {
token = '';
logged_in = false;
console.log('log out', logged_in, token);
})
}
started()
</script>
我无法理解如何在 Netlify 上处理 函数。特别是,我想在用户登录时访问用户的 ID。
我在 my netlify site 上启用了身份,我可以登录和注销。
<button data-netlify-identity-button id="login"></button>
我创建了一个函数 identity-login,我认为应该处理用户的详细信息,但我看不到如何在网页上使用它
// functions/identity-login.js
exports.handler = async function (event, context) {
const { identity, user } = context.clientContext;
console.log(identity, user)
return {
statusCode: 200,
body: 'hello'
}
};
函数端点是
https://silly-parrot.netlify.app/.netlify/functions/identity-login
我页面的脚本中有这个,但我不知道如何调用它或者它是否正确
async function apiCall() {
const url = `/.netlify/functions/identity-login`;
try {
const response = await fetch(url);
const data = await response;
console.log(data)
return data;
} catch (err) {
console.log(err);
}
}
我该怎么办?
我现在意识到我采取了错误的方法。没有必要使用 Netlify identity-login 事件。 netlifyIdentity 对象提供必要的功能来识别用户何时登录或注销,以及在页面加载(初始化)时发现用户是否登录。用户身份包含在 user.token.access_token
以下代码在我的主要 js 脚本中(您当然需要访问 netlifyIdentity 对象)
<script type="text/javascript" src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
然后设置异步函数来处理授权事件
<script>
var token = '';
var logged_in = false;
async function started() {
logged_in = false;
netlifyIdentity.on('init', async user => {
if(user) {
token = user.token.access_token;
logged_in = true;
}
console.log('init', logged_in, token);
})
netlifyIdentity.on('login', user => {
if(user) {
logged_in = true;
token = user.token.access_token;
}
console.log('log in', logged_in, token);
})
netlifyIdentity.on('logout', () => {
token = '';
logged_in = false;
console.log('log out', logged_in, token);
})
}
started()
</script>