小编Obi*_*Obi的帖子

WebApi ASP.NET Identity Facebook登录

在asp.net身份的facebook身份验证流程中,facebook oauth对话框将代码而不是访问令牌附加到redirect_url,以便服务器可以通过此代码交换此代码http://localhost:49164/signin-facebook?code=...&state=....

我的问题是我的客户端是一个使用facebook sdk的移动应用程序,它直接给了我一个访问令牌.Facebook说使用sdk总是给你一个访问令牌,所以我可以直接给web api访问令牌吗?

我知道这不是很安全,但它是否可能?

facebook facebook-android-sdk facebook-ios-sdk asp.net-web-api

35
推荐指数
3
解决办法
2万
查看次数

WebApi上的AngularJS和OWIN身份验证

我在WebApi上实现了基于OWIN令牌的身份验证,我也通过调用启用了CORS app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll)

我可以从angularjs Web客户端访问我的应用程序的各种不安全部分.我使用过这个http拦截器,当我尝试访问受保护的资源时,我得到了我的登录弹出窗口.

现在,为了登录,我必须http://mywebapi/token使用表格编码的UserName密码和grant_type 进行调用,请参阅下面的标题签名(来自chrome)

Request URL:http://mywebapi/token
Request Headers CAUTION: Provisional headers are shown.
Accept:application/json, text/plain, */*
cache:false
Content-Type:application/x-www-form-urlencoded
Origin:http://127.0.0.1:49408
Referer:http://127.0.0.1:49408/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
Form Dataview sourceview URL encoded
grant_type:password
UserName:correctuser
Password:Password
Run Code Online (Sandbox Code Playgroud)

当我使用邮递员发送此请求时,它会在预期的accessstoken中恢复正常,但是当我尝试使用angular的$ http服务时,它会发出OPTIONS请求(我可以在Dev工具控制台中看到这一点),但出于某种原因,我得到了此错误消息

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:49408' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

注意:这仅适用于/ token请求,它是form-url-encoded,对于所有其他json请求,标头按预期添加.有人可以请求帮助,我的想法已经用完了.

谢谢

authentication cors asp.net-web-api angularjs owin

12
推荐指数
3
解决办法
9744
查看次数

使用WebApi和外部登录的ASP.NET标识

我又被卡住了!我正在尝试使用个人帐户使用ASP.NET身份实现安全的WebApi服务.WebApi服务将由使用phonegap开发的移动应用程序使用.我的phonegap应用程序使用Facebook和Twitter进行登录,我已在客户端上完美地实现了这一点.

我已经从visual studio模板创建了一个SPA项目,我已经使用fiddler和chrome dev工具测试了监控HTTP请求的登录过程.我使用邮递员尝试了以下请求

得到: http://localhost:49577/api/Account/ExternalLogins?returnUrl=/&generateState=true

响应:

[{
        "Name": "Facebook",
        "Url": "/api/Account/ExternalLogin?provider=Facebook&response_type=token&client_id=self&redirect_uri=http%3A%2F%2Flocalhost%3A49577%2F&state=jpePf27F3ufkCCEldFdoOVMEGBGTEO1CrRdUQ3bHEP01",
        "State": "jpePf27F3ufkCCEldFdoOVHSGBGTEO1CrRdUQ3bHEP01"
}]
Run Code Online (Sandbox Code Playgroud)

然后我调用GET:http://localhost:49577/api/Account/ExternalLogin?provider=Facebook&response_type=token&client_id=self&redirect_uri=http%3A%2F%2Flocalhost%3A49577%2F&state=jpePf27F3ufkCCEldFdoOVMEGBGTEO1CrRdUQ3bHEP01 调用AccountsController的GetExternalLogin方法.然后,当用户未经过身份验证时,它会返回ChallengeResult的实例.

这是我被困的地方.Q1:ChallengeResult强制301重定向到facebook登录页面,带有一些查询字符串参数.我不想要这个,我希望它给我参数,但让我处理我的ajax请求中的日志记录.我试过评论这行代码

Request.GetOwinContext().Authentication.Challenge(LoginProvider);
Run Code Online (Sandbox Code Playgroud)

但我最终得到了401没有别的,我怎么能控制ChallegeResult的反应?

Q2.此外,在我从facebook获取访问令牌之后,我无法弄清楚接下来是什么,如果我已经获得访问令牌,我应该调用哪个webapi端点,我应该传递给它什么?

我整天都用Google搜索,但找不到任何能回答我问题的内容.任何帮助,将不胜感激.谢谢

更新:

关于Q2; 我已经想出了下一步,那就是GET:http://localhost:49164/signin-facebook?code=...&state=...

这将返回另一个重定向到的302

http://localhost:49164/api/Account/ExternalLogin?provider=Facebook&response_type=token&client_id=self&redirect_uri=http%3A%2F%2Flocalhost%3A49164%2F&state=7oGPd37EA-nmtXPtYEQ40qnretDeKjbPEM1gNkb2DuM1
Run Code Online (Sandbox Code Playgroud)

然后返回另一个302然后重定向到

http://localhost:49164/#access_token=...
Run Code Online (Sandbox Code Playgroud)

那么如何处理来自移动非浏览器客户端的所有重定向?

UPDATE

我试图找到处理的控制器动作 http://localhost:49164/signin-facebook?code=...&state=... 可以帮助任何人吗?

更新 我已经发布了这个问题了解了很多有关facebool登录流程的信息,这可能是我之前应该做的!我仍然有一个问题,但我在这里创建了一个不同的问题,以减少混乱

asp.net-mvc-4 asp.net-web-api asp.net-identity

11
推荐指数
1
解决办法
5720
查看次数

Visual Studio 2012中的Phonegap

有谁知道如何使PhoneGap的项目模板在Visual Studio 2012中工作?

cordova visual-studio-2012 cordova-2.0.0

7
推荐指数
1
解决办法
5127
查看次数

Web Essentials SCSS编译错误

我正在尝试使用Visual Studio 2013和Web Essentials在projetc中编译SCSS文件.这是我在visual studio输出窗口中得到的错误

Something went wrong reaching: http://127.0.0.1:52658/?service=SCSS&sourceFileName=C:\Development\KnockApp\KnockApp\KnockApp.Web\Content\scss\directory.scss&targetFileName=C:\Users\IEUser\AppData\Local\Temp\3510b388-06aa-48bb-b517-e1442399e924.css&mapFileName=C:\Users\IEUser\AppData\Local\Temp\3510b388-06aa-48bb-b517-e1442399e924.css.map&precision=5&outputStyle=expanded& 

SCSS: directory.scss compilation failed: The service failed to respond to this request          
      Possible cause: Syntax Error!
Run Code Online (Sandbox Code Playgroud)

SCSS文件来自第三方主题,他们使用Compass,我已将指南针文件包含在我的项目中.我还在机器上安装了node和node-sass.有什么想法吗?

sass web-essentials visual-studio-2013

6
推荐指数
1
解决办法
2176
查看次数

Gherkin 语法中的数组占位符

嗨,我正在尝试用小黄瓜语法编写表达一组要求,但这需要大量重复。我在这里看到我可以使用占位符,这对我的任务来说是完美的,但是我的 Given 和 then 中的一些数据是集合。我将如何在示例中表示集合?

Given a collection of spaces <spaces>
    And a <request> to allocate space
When I allocate the request
Then I should have <allocated_spaces>

Examples:
| spaces | request | allocated_spaces |
|  ?     |  ?      |  ?               |
Run Code Online (Sandbox Code Playgroud)

bdd cucumber gherkin

6
推荐指数
2
解决办法
5629
查看次数

将现有的DotNetNuke门户迁移到windows azure

我目前正从共享主机迁移到azure,我一直在将我的asp.net应用程序迁移到azure/sql azure.对于mvc3/4站点,我不得不将其成员资格提供程序更改为通用成员资格提供程序,以便让它们位于SQL Azure上.现在我必须做dnn网站,我无法理解使用什么策略.我尝试使用For SQL Azure选项生成数据库脚本,但是我收到了大量的错误

此版本的SQL Server不支持不推荐使用的功能"字符串文字作为列别名".

此外,我没有选择安装新的dnn门户,因为尝试设置30多个模块和页面太多了.

所以我想我的问题是将现有的dnn门户迁移到windows azure的最佳策略是什么?

dotnetnuke azure azure-sql-database

4
推荐指数
1
解决办法
1918
查看次数

依赖角色有多个具有不同值的主体

我正在使用实体框架 codefirst 并且我有以下设计

public class Location
{
    public int Id { get; set; }
    public string Name { get; set; }
    public bool IsDeleted { get; set; }
}

public class DelieryRate 
{
    public int Id { get; set; }

    public int OriginId { get; set; }
    public Location Origin { get; set; }

    public int DestinationId { get; set; }
    public Location Destination { get; set; }

    public double Amount { get; set; }

    public bool IsActive { get; …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

3
推荐指数
1
解决办法
8697
查看次数

Xamarin从TabbedPage应用程序导航

我一直在修补Xamarin表格,我遇到了一些障碍.我有一个应用程序,其rootPage是一个TabbedPage.我以编程方式将三个子Contentpages添加到此页面.这一切都很好.但是,这些页面会打开其他页面,这些页面可能打开或不打开其他页面等.

我曾尝试将ContentPage用于子页面并将rootpage Navigation属性传递给它们并使用它来调用Navigation.PushAsync我还尝试制作页面导航页面,然后在自己的属性上调用Navigation.PushAsync:这会抛出一些未处理的异常

谁能请帮忙!

tabbed-view xamarin xamarin.forms

3
推荐指数
1
解决办法
2097
查看次数

使用WordNet.Net的词义消歧

我需要做一些词义消歧作为一个更大的项目的一部分,我遇到WordNet.Net 我试图使用下载的WordsMatching项目附带的wordsensedisambiguator类,这里是我的代码

        string sent = "We have investigated the inductions of the IE genes in response to calcium signals in Jurkat cells (in the presence of activated p21(ras)) and their correlated consequences.";
        Tokeniser tok = new Tokeniser();
        tok.UseStemming = true;
        string[] words = tok.Partition(sent);

        if (words.Length == 0) return null;

        MyWordInfo[] wordInfos = new MyWordInfo[words.Length];

        for (int i = 0; i < words.Length; i++)
        {

            WnLexicon.WordInfo wordInfo = WnLexicon.Lexicon.FindWordInfo(words[i], true);

            if (wordInfo.partOfSpeech != Wnlib.PartsOfSpeech.Unknown && wordInfo.text != string.Empty)
            { …
Run Code Online (Sandbox Code Playgroud)

nlp wordnet word-sense-disambiguation

2
推荐指数
1
解决办法
5238
查看次数

是否可以将内容编辑器限制为UmbracoCMS中的特定内容

所以这是我的情况,我有一个umbraco网站,该网站分为一个组织中每个部门的部分.每个组织都希望管理自己的内容并希望拥有自己的管理员.但是,他们不希望其他部门的管理员能够修改他们自己部门之外的内容.

有没有办法限制内容编写者只能在umbraco后端的特定部分编辑内容?

umbraco umbraco7

1
推荐指数
1
解决办法
1344
查看次数

Javascript "".length 返回 1 而不是 0

好的,所以我被这个难倒了。我从一个 javascript 库中得到一个字符串值。我打电话myStringVar = myStringVar.trim(),但当我这样做时,myStringVar.substring(0,1)它给了我一个空字符串。当我调用var arr = myStringVar.split('')数组中的第一个元素是空字符串时,当我调用 arr[0].trim().length 时,它返回 1 而不是零。

在此处输入图片说明

我错过了什么吗?

编辑 根据评论和回复,我已经能够将问题隔离到字符串开头存在非可视化的 unicode 字符。我现在将尝试找到一种方法来从字符串中删除这些字符......或者更好的是提取字符串中感兴趣的部分。谢谢您的帮助。

javascript string

0
推荐指数
1
解决办法
588
查看次数