我昨天注意到我的网站登录已停止工作.
在过去的两个月里,这一直很有效,据我所知,我没有改变任何东西.我已尝试过以下链接,例如: - 以及更多......
ASP.NET MVC5 OWIN Facebook身份验证突然无法正常工作
我注意到Stack Overflow Facebook auth也停止了工作.
有没有人注意到这一点并找到了解决办法?值得注意的是我正在使用azure app服务来托管.但是当我使用localhost时也会发现这个问题.
我目前的设置看起来像这样......
在Startup.Auth.cs中
var facebookOptions = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions()
{
AppId = "xxxxxxxxxxxxx",
AppSecret = "xxxxxxxxxxxx"
};
facebookOptions.Scope.Add("email");
app.UseFacebookAuthentication(facebookOptions);
Run Code Online (Sandbox Code Playgroud)
在下面的方法,loginInfo是null每一次.
[AllowAnonymous]
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
return RedirectToAction("Login");
}
Run Code Online (Sandbox Code Playgroud)
我还从一个不同的帖子建议中添加了一个"WAKEUP"会话,fb auth之前失败了一次,这次修复了这个问题,但它已经回来了.
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult ExternalLogin(string provider, string returnUrl)
{
Session["WAKEUP"] = "NOW!";
// Request a redirect to the external login provider …Run Code Online (Sandbox Code Playgroud) model-view-controller facebook oauth facebook-graph-api owin
我对SVG很新,我不知道如何在SVG元素中缩放形状.
有人可以向我解释为什么以下不起作用?我想把这个圈子扩大50%.
这是我的jsfiddle与不缩放圆圈的示例?
https://jsfiddle.net/q2buo2x7/
<svg height="150" width="150" id="outer">
<circle id="inner" cx="25" cy="20" r="20" fill="orange"/>
</svg>
<script>
function zoom() {
var outer = document.getElementById('outer');
outer.setAttribute("currentScale", 1.5);
}
zoom();
</script>
Run Code Online (Sandbox Code Playgroud) 自从我第一次将我的应用程序放入 iOS 应用程序商店以来,已经过去了大约一年的时间。最近,我的收件箱中出现了以下消息。
您的 iOS 分发证书将在 30 天后失效
我尝试在 expo-cli 中创建一个新的分发证书,我已经成功完成,现在出现在 Apple 开发人员的证书部分中,但是当我列出它们时,expo-cli 中的证书会在新证书下方显示
未被任何应用程序使用
如何将这个新证书分配给我的旧应用程序?还是旧的用完后会自动切换?
任何帮助将不胜感激,我真的很想在旧证书用完时让我的应用程序在应用程序商店中保持活动状态。
我有一个旧的 ASP.NET 站点,它使用内置的捆绑和使用 bundleConfig.cs 进行缩小
这很棒,但是当我向 JavaScript 添加一些 ES6 语法时,它不再正确缩小。
有没有办法在缩小代码之前先转译代码,而不必按照以下示例安装 NodeJs 和使用 Bable?有没有办法在文件缩小之前直接从 ASP.Net 网站使用 Babel?
https://www.slightedgecoder.com/2017/05/22/setting-es6-environment-asp-net-mvc-5/
问题是我真的不想将每个 JavaScript 文件转换为具有可导出功能等,因为代码库非常大。除非有一种方法可以一次性导出 JavaScript 文件中的所有代码,然后仅将这些文件导入到新的主 js budle 文件中?
我有一个非常简单的组件,我试图模拟 API 调用来获取一些稍有延迟的电影。
我想编写一个测试来测试电影是否被收集然后渲染到屏幕上。
我试图用来screen.getAllByTestId做到这一点,但它总是失败。就好像它没有重新渲染,因此没有获得更新的更改。
我在元素上添加了一个 testid,并且可以在 DOM 中看到它们。
任何人都可以帮忙解释为什么他们出现后找不到他们吗?
这是完整的组件代码...
import './App.css';
import { useEffect, useState } from 'react';
function App() {
const [movies, setMovies] = useState([]);
useEffect(() => {
// simulate API call to get
setTimeout(() => {
const movies = [{ title: 'Titanic' }, { title: 'Back To The Future' }];
setMovies(movies);
}, 1000);
}, []);
return (
<div>
{movies.length > 0 && (
<div>
{movies.map((x) => (
<div data-testid='movies'>{x.title}</div>
))}
</div>
)}
</div>
); …Run Code Online (Sandbox Code Playgroud) 我想在 React Native expo 中打开一个 Web 浏览器,它会加载一个 url,然后我想监听要点击的特定 URL,此时我希望它运行一些代码,然后关闭浏览器窗口。
我一直在尝试使用 Expo 的 WebBrowser 来实现此目的。
https://docs.expo.io/versions/latest/sdk/webbrowser/
async componentDidMount() {
Linking.addEventListener("url", this.handleOpenURL);
}
handleOpenURL(event) {
console.log(event.url);
// do something here then dismiss the browser
}
Run Code Online (Sandbox Code Playgroud)
...在代码的进一步下方,我可以通过按下按钮来实现此操作
let result = await WebBrowser.openBrowserAsync('www.exampleurl.com');
Run Code Online (Sandbox Code Playgroud)
这会打开网页,但不会点击handleOpenUrl代码,这可以完成吗?如果可以的话,有人有例子吗?
我正在尝试修改我的HTML,JavaScript和CSS3考试; 我对CSS选择器有点困惑,并且优先考虑.
我有以下CSS:
table { border: 1px solid black; }
tr:nth-child(odd) { background-color: red; }
tr td:nth-of-type(even) { background-color: blue; }
td { background-color: green; }
Run Code Online (Sandbox Code Playgroud)
我认为无论最后出现什么都是优先考虑的,所以在我看来,表格中的所有单元格都是绿色的.
然而,根据第n个类型选择器,偶数单元格仍为蓝色.即使我将它放在顶部并移除绿色td线,蓝色仍然显示在中间,只有奇数单元格显示为红色.
有人可以解释为什么nth-of-type似乎先于其他一切?
这是一个例子:
table { border: 1px solid black; }
tr:nth-child(odd) { background-color: red; }
tr td:nth-of-type(even) { background-color: blue; }
td { background-color: green; }Run Code Online (Sandbox Code Playgroud)
<table style="width: 100%;">
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
<td>80</td>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
<td>80</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
我希望使用 eslint 强制我的导入遵循标准顺序。
我已经完成了这个工作,但是它会导致一个很长的 eslint 文件,因为我有许多不同的路径,我设置了 TypeScript 别名,我希望在对外部包进行排序时排除 eslint 规则。
我让它像这样工作:
"import/order": [
"error",
{
"groups": ["builtin", "external", "internal"],
"pathGroups": [
{
"pattern": "react*",
"group": "external",
"position": "before"
},
{
"pattern": "Components/**",
"group": "internal"
},
{
"pattern": "Constants/**",
"group": "internal"
}
... more patterns here
],
"pathGroupsExcludedImportTypes": ["react", "internal"],
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
],
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种方法可以对模式进行分组,这样我就可以做类似这样的事情:
"import/order": [
"error",
{
"groups": ["builtin", "external", "internal"],
"pathGroups": [
{
"pattern": "react*",
"group": "external",
"position": "before"
},
{
"pattern": "Components/**|Constants/**|AnotherAlias/**|AnotherAlias/**", …Run Code Online (Sandbox Code Playgroud) 我对密码学很陌生,想了解哈希算法。
我有以下来源来创建密码的哈希版本,该密码可以存储在我的数据库中。
public static string hashPasswordGenerator(string password)
{
System.Security.Cryptography.SHA256Managed crypt = new System.Security.Cryptography.SHA256Managed();
StringBuilder hash = new StringBuilder();
byte[] cry = crypt.ComputeHash(Encoding.UTF8.GetBytes(password), 0, Encoding.UTF8.GetByteCount(password));
return Convert.ToBase64String(cry);
}
Run Code Online (Sandbox Code Playgroud)
我的示例用户User1使用密码Password1,这返回哈希版本GVE/3J2k+3KkoF62aRdUjTyQ/5TVQZ4fI2PuqJ3+4d0=
我的问题是:
- 这安全吗?
- 我应该加盐吗?如果是这样,有人可以给我看一个简单的例子,因为我真的不明白它是如何生成盐的,以便它每次都会匹配密码?
- 如果有人有这个 hashPasswordGenerator 方法,他们可以对我的密码进行逆向工程吗?
提前致谢。
由于Charts.js还不支持注释,所以我在绘制图表后添加了数据点的注释。使用 ctx.fillText 如下所示。
animation: {
animateScale: true,
animateRotate: true,
onComplete: function () {
var chartInstance = this.chart,
ctx = chartInstance.ctx;
ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, Chart.defaults.global.defaultFontStyle, Chart.defaults.global.defaultFontFamily);
ctx.textAlign = 'center';
ctx.fillStyle = this.chart.config.options.defaultFontColor;
ctx.textBaseline = 'bottom';
this.data.datasets.forEach(function (dataset, i) {
var meta = chartInstance.controller.getDatasetMeta(i);
meta.data.forEach(function (bar, index) {
data = dataset.data[index];
ctx.fillText(data, bar._model.x, bar._model.y - 5);
});
});
}
}
Run Code Online (Sandbox Code Playgroud)
除了现在工具提示显示在新添加的文本下方之外,这非常有效。这并不那么明显,但有时它会重叠在一个不好的地方,这意味着您看不到后面的工具提示。
有没有办法设置 ctx.fillText 或工具提示的 z 索引,以便我可以正确地对它们进行分层?
javascript ×5
c# ×2
expo ×2
asp.net ×1
babeljs ×1
certificate ×1
chart.js ×1
cryptography ×1
css ×1
css3 ×1
eslint ×1
facebook ×1
hash ×1
html ×1
html5 ×1
ios ×1
iphone ×1
jestjs ×1
minify ×1
oauth ×1
owin ×1
react-native ×1
reactjs ×1
security ×1
sha256 ×1
svg ×1
testing ×1
tooltip ×1
z-index ×1