blob: 0dc5fc03a56deb13c0c17a9b3878af6a59355ea5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
using System;
using System.Web.Security;
using DotNetOpenAuth.AspNet;
using Microsoft.Web.WebPages.OAuth.Resources;
using WebMatrix.WebData;
namespace Microsoft.Web.WebPages.OAuth
{
internal class WebPagesOAuthDataProvider : IOpenAuthDataProvider
{
private static ExtendedMembershipProvider VerifyProvider()
{
var provider = Membership.Provider as ExtendedMembershipProvider;
if (provider == null)
{
throw new InvalidOperationException(OAuthResources.Security_NoExtendedMembershipProvider);
}
return provider;
}
public string GetUserNameFromOpenAuth(string openAuthProvider, string openAuthId)
{
ExtendedMembershipProvider provider = VerifyProvider();
int userId = provider.GetUserIdFromOAuth(openAuthProvider, openAuthId);
if (userId == -1)
{
return null;
}
return provider.GetUserNameFromId(userId);
}
}
}
|